0

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

4

1 回答 1

2

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

于 2011-01-23T07:12:36.667 回答