問題タブ [nsappleeventdescriptor]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
cocoa - -[NSAppleScript executeAndReturnError:] AppleScript エディタで動作するスクリプトでエラーが発生する
QuickTime プレーヤーが一時停止されているか、Cocoa から再生されているかを確認しようとしています。Script Debugger と AppleScript Editor で次の小さな AppleScript を使用すると、期待どおりにtrue
orが返されます。false
ただし、Cocoa アプリの次のコード スニペットは機能しません。
上記のコードを実行すると、デバッグ コンソールは次のようになります。
関連する場合、デバッガーの最後のステップ、つまり に値を割り当てるステップを実行するのに約 4 秒かかりますがdescriptor
、これは私には非常に長いようです。
@autorelease
ブロック内に上記のものだけを含む単純なコマンド ライン ツール アプリを作成しましたが、動作します。
出力 (QuickTime Player の実行時) は次のとおりです。
デバッガーでサンドボックス コードをステップ実行すると、そのdescriptor
割り当てが 1 秒以内に実行されます。では、これが機能しない原因となっているアプリ プロジェクトの違いは何でしょうか?
objective-c - 任意のアプリケーションにプログラムでテキストを入力
AppleScript ではなく Apple イベントを使用して、テキストをアプリケーションに入力し、マウスをクリックする概念実証の Objective-C 実行可能ファイルはありますか?
たとえば、AppleScript に相当するもの
Mac OS X 10.9 で動作するはずで、できれば未来志向です (後方互換性は問題ではありません)。コンテキストは、別の言語から Objective-C コードを呼び出すことです。
私はそれを読んだので、私はこれを言っています:
Mac OS X 10.7 の時点で、低レベルの Cocoa API (NSAppleEventDescriptor) には依然として重要な機能 (Apple イベントを送信する機能など) が欠けていますが、高レベルの Cocoa API (スクリプト ブリッジ) には欠陥があり、実行するには限界があります。 appscript スタイルのラッパーの基礎。
と:
NSAppleScript はメインスレッドでのみ安全に使用できます
だから、私の目標は次のとおりです。
- 任意のアプリケーション (名前または現在の場合)
- キーボード入力またはマウス
- CまたはObjective-Cから
- 数百ミリ秒以内
ありがとう!
objective-c - SWIFT で NSAppleEventDescriptor をアンラップできません
私は結果を与えるApplescriptを持っています。しかし、値を文字列にワープすることができないので、それを使用できます。
NSLog は次のようになります。
実際の結果は文字列「test.swift」です。この結果をアンラップ/解析するにはどうすればよいですか?
これを追加してみました:
また、メソッドを使用してみましたdescriptorForKeyword(<#keyword: AEKeyword#>)
が、AEKeywordを設定するホットがわかりません。
swift - 日付情報を AppleScript に渡すには?
NSAppleScript 経由で AppleScript を実行できるアプリを 1 つ作成しています。すべてうまくいきましたが、アプリから AppleScript に日付情報を渡す方法がわかりませんでした。(AppleScript には日付型があるので、これは可能だと思います) AppleScript にパラメーターを渡す方法は、NSAppleEventDescriptor を使用します。typeLongDateTime 型として渡すことができることを Google から学びました。
残念ながら、LongDateTime 型は、OS X 10.10 で Swift を使用しているため、長い間使用されていませんでした。コア サービス関数の UCConvertCFAbsoluteTimeToLongDateTime でさえ、10.10.3 から既に削除されています。
今、私は立ち往生しています。
インスピレーションを与えるアイデアはありますか?
swift - データを別のアプリに送信し、そこから応答を取得する
アプリ同士で通信しようとしています。
最初のアプリケーションでApple Eventsを処理しています
2 番目のアプリでは、NSAppleEventDescriptorオブジェクトを作成しています
今、NSWorkspace
私は最初のアプリを起動しています
すべて問題ありません。関数handleGetURLEvent
は呼び出されますが、...replyEvent.desciptorType
また、2 番目のアプリにkAENullEvent
どのようにアクセスするのかわかりません。replyEvent
この解決策には何か問題があると思います。
私の質問は、他のアプリにデータを送信してデータを取り戻すにはどうすればよいですか?