アプリ同士で通信しようとしています。
最初のアプリケーションでApple Eventsを処理しています
NSAppleEventManager.shared().setEventHandler(self, andSelector: #selector(handleGetURLEvent), forEventClass: AEEventClass(kInternetEventClass), andEventID: AEEventID(kAEGetURL))
func handleGetURLEvent(_ event: NSAppleEventDescriptor, withReplyEvent replyEvent: NSAppleEventDescriptor)
2 番目のアプリでは、NSAppleEventDescriptorオブジェクトを作成しています
let test = NSAppleEventDescriptor(string: "test")
let descriptor = NSAppleEventDescriptor(eventClass: AEEventClass(kInternetEventClass), eventID: AEEventID(kAEGetURL), targetDescriptor: nil, returnID: AEReturnID(kAutoGenerateReturnID), transactionID: AETransactionID(kAnyTransactionID))
descriptor.setParam(test, forKeyword: keyDirectObject)
今、NSWorkspace
私は最初のアプリを起動しています
NSWorkspace.shared().launchApplication(at: myAppUrl, options: .default, configuration: [NSWorkspaceLaunchConfigurationAppleEvent:descriptor])
すべて問題ありません。関数handleGetURLEvent
は呼び出されますが、...replyEvent.desciptorType
また、2 番目のアプリにkAENullEvent
どのようにアクセスするのかわかりません。replyEvent
この解決策には何か問題があると思います。
私の質問は、他のアプリにデータを送信してデータを取り戻すにはどうすればよいですか?