我正在将一款MacOS应用程序适配为使用沙盒技术。它使用一个帮助程序(同一捆绑包中的exe),当我尝试使用CFMessagePortCreateRemote调用时失败,并在控制台中显示'deny mach-lookup'消息。
我可以看到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(): 失败 1100 (0x44c) '权限被拒绝',端口号 = 0x14807,名称为 'XXXYYYZZZZ.MyAppGroupName'
.Port_of_Kobe
字符串!非常重要。您不能仅使用您的 App Group ID。 - pkamb