サンドボックスを使用するように MacOS アプリケーションを調整しています。コンソールで「deny mach-lookup」メッセージを使用して CFMessagePortCreateRemote を呼び出そうとすると失敗するヘルパー アプリケーション (同じバンドル内の exe) を使用します。
エンタイトルメント キーでこれを解決できることがわかりcom.apple.security.temporary-exception.mach-lookup.global-name
ますが、これは一時的なものです。
サンドボックス化されたアプリケーションでマッハ ポートを使用して 2 つのアプリ間の通信を実現する方法はありますか?
エラー:
let port = CFMessagePortCreateLocal(nil, "XXXYYYZZZZ.MyAppGroupName" as CFString, Callback, nil, nil)
let runLoopSource = CFMessagePortCreateRunLoopSource(kCFAllocatorDefault, port, 0)
CFRunLoopAddSource(CFRunLoopGetCurrent(), runLoopSource, .commonModes)
*** CFMessagePort: bootstrap_register(): 失敗しました 1100 (0x44c) '許可が拒否されました'、ポート = 0x14807、名前 = 'XXXYYYZZZZ.MyAppGroupName'