Я пытаюсь выполнить копирование/вставку для моего последнего активного приложения, вот мой код:
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 в редактор Apple Script, и здесь он работает просто отлично.
Мое приложение изолировано — я добавил идентификаторы пакета для ключа «com.apple.security.temporary-exception.apple-events» для приложений, которые я хочу поддерживать.
Есть предложения?