Obj-C / AppleScript语法问题

时间:2011-01-23 07:06:31

标签: objective-c applescript nsmutablestring

我正在从我的应用程序中调用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做不可能的事。有人可以帮帮我吗?非常感谢提前: - )

1 个答案:

答案 0 :(得分:2)

您需要使用[NSString stringWithFormat:@"... %@ ...", @"arg"]