我正在从我的应用程序中调用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>
}
带有“硬连线”电子邮件地址的脚本运行完美,但我真的想要使用社区数据库中的地址。我尝试使用 mutable 字符串作为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做不可能的事。有人可以帮帮我吗?非常感谢提前: - )
答案 0 :(得分:2)
您需要使用[NSString stringWithFormat:@"... %@ ...", @"arg"]
。