CFMessagePort и песочница

Я адаптирую приложение MacOS для использования песочницы. Он использует вспомогательное приложение (исполняемый файл в том же пакете), которое дает сбой, когда я пытаюсь вызвать CFMessagePortCreateRemote с сообщением «запретить поиск mach» в консоли.

Я вижу, что ключ разрешения com.apple.security.temporary-exception.mach-lookup.global-nameможет решить эту проблему, но это временно.

Есть ли способ установить связь между двумя приложениями через mach-порт в изолированном приложении?

Ошибки:

let port = CFMessagePortCreateLocal(nil, "XXXYYYZZZZ.MyAppGroupName" as CFString, Callback, nil, nil)
let runLoopSource = CFMessagePortCreateRunLoopSource(kCFAllocatorDefault, port, 0)
CFRunLoopAddSource(CFRunLoopGetCurrent(), runLoopSource, .commonModes)

*** CFMessagePort: bootstrap_register(): failed 1100 (0x44c) «Отказано в доступе», порт = 0x14807, имя = «XXXYYYZZZZ.MyAppGroupName»

5
задан pkamb 19 October 2018 в 02:31
поделиться