Я вызываю 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, затем вставить в нее переданный addressStr с точным (известным) индексом перед передачей scriptString объекту AppleScript. Но если я удалю (только) адресные символы и попробую что-то вроде:
@"tell b to make new to recipient with properties {address:\"\"}\n"
<snip>
[scriptString insertString:addressStr atIndex:556];
... либо не компилируется, либо выдает ошибку «Попытка изменить неизменяемый объект (??) с помощью insertString: atIndex:» во время выполнения - в зависимости от того, что я пытаюсь.
Так что либо мой синтаксис неверен (P = 0,95), либо я пытаюсь сделать невозможное с помощью AppleScript. Кто-нибудь может мне помочь, пожалуйста? Большое спасибо заранее: -)