私は私の最後のアクティブなアプリへのためのコピー/貼り付けを実行しようとしています、ここに私のコードは次のとおりです。のAppleScriptは、「行の終わりを期待しますが、 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スクリプトコードを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
私はユニコードを翻訳しましたが、何がうまくいかないのか分かりません。リンゴスクリプトで試してみましたが、うまくいきませんでした。 –
「このアプリをアクティブにする」のようなシンプルなリンスクリプトでも、同じエラーが発生します。 –