我正在从我的应用程序内部调用 AppleScript。我的代码的相关片段如下所示:
-(void)sendMail:(NSString*)addressStr
{
NSString *scriptString = <snip>
@"end tell\n"
@"tell b to make new to recipient with properties {address:\"someone@somewhere.com\"}\n"
@"send b\n"
@"end tell\n";
<snip>
}
带有“硬连线”电子邮件地址的脚本运行完美,但我真的想使用我们社区数据库中的地址。我尝试对 scriptString 使用可变字符串,然后在将 scriptString 传递给 AppleScript 对象之前,将传递的 addressStr 插入到精确(已知)索引处。但是,如果我(仅)删除地址字符并尝试以下操作:
@"tell b to make new to recipient with properties {address:\"\"}\n"
<snip>
[scriptString insertString:addressStr atIndex:556];
...它要么无法编译,要么在运行时给出“尝试使用 insertString:atIndex: 改变不可变对象 (??) 错误 - 取决于我的尝试。
所以要么我的语法错误(P=0.95),要么我试图用 AppleScript 做不可能的事情。任何人都可以帮助我吗?提前非常感谢:-)