gpt4 book ai didi

macos - CFMessagePort 和沙箱

转载 作者:行者123 更新时间:2023-12-01 17:04:26 25 4
gpt4 key购买 nike

我正在调整 MacOS 应用程序以使用沙箱。它使用一个辅助应用程序(同一包中的 exe),当我尝试在控制台中使用“拒绝 mach-lookup”消息调用 CFMessagePortCreateRemote 时,该应用程序会失败。

我可以看到 com.apple.security.temporary-exception.mach-lookup.global-name 授权 key 可以解决此问题,但这只是暂时的。

是否有办法在沙盒应用程序中通过 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) 'Permission denied', port = 0x14807, name = 'XXXYYYZZZZ.MyAppGroupName'

最佳答案

对于目标应用程序和帮助程序 exe:

  • 启用沙盒
  • 添加一个以您的 teamid 为前缀的公共(public)群组

    Z123456789.com.example.app-group

使用您的 teamID ex 命名您的 Mach 端口:

Z123456789.com.example.app-group.Port_of_Kobe

Apple documentation link

关于macos - CFMessagePort 和沙箱,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9889186/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com