Я пытаюсь выполнить копирования/вставки для моего к последнему активному приложению, вот мой код:Applescript из Mac App говорит: «Ожидаемый конец строки, но найден U201c » u201d»
NSString *appleScriptSource = [NSString stringWithFormat:@"\ntell application \"%@\" to activate\ntell application \"System Events\" to tell process \"%@\"\nkeystroke \"v\" using command down\nend tell", [lastApp localizedName], [lastApp localizedName]];
NSDictionary *error;
NSAppleScript *aScript = [[NSAppleScript alloc] initWithSource:appleScriptSource];
NSAppleEventDescriptor *aDescriptor = [aScript executeAndReturnError:&error];
проблема заключается в том, что на некоторых компьютерах она работает просто отлично, но на других она не моя ошибка выхода из ошибки, возвращаемый executeAndReturnError является:.
2012-06-13 17:43:19.875 Mini Translator[1206:303] (null) (error: {
NSAppleScriptErrorBriefMessage = "Expected end of line but found \U201c\"\U201d.";
NSAppleScriptErrorMessage = "Expected end of line but found \U201c\"\U201d.";
NSAppleScriptErrorNumber = "-2741";
NSAppleScriptErrorRange = "NSRange: {95, 1}";
})
Я не могу показаться, чтобы выяснить, что это значит или почему это происходит.
Мы попытались скопировать сгенерированный код яблочного скрипта в редактор Apple Script, и здесь он работает отлично.
Мое приложение изолировано от песка - я добавил идентификаторы связки для ключа «com.apple.security.temporary-exception.apple-events» для приложений, которые я хочу поддерживать.
Любые предложения?
\ U201c и \ u201d оба представляют кавычки (слева направо соответственно). [Ввод котировок на клавиатуре] (http://en.wikipedia.org/wiki/%22#Typing_quotation_marks_on_a_computer_keyboard) Поэтому я убежден, что вы не избегаете цитаты «правильно». Играйте с форматом строки и персонажи, с которыми вы ускользаете. – erran
Ну, я перевел юникоды, но я не могу понять, что пошло не так. Я пробовал играть с яблочным скриптом, но он не работает - странная часть заключается в том, что она работает некоторые маки. –
Даже при использовании простых приложений, таких как «активное приложение», возникает та же ошибка. –