我有 2 个具有不同捆绑标识符的应用程序。
1 个应用程序被沙盒化,而另一个应用程序没有。
非沙盒应用程序将条目写入钥匙串。
如何在不提示用户允许访问的情况下允许沙盒应用读取和修改钥匙串条目?
沙盒应用程序在稍后阶段安装,因此我无法使用SecTrustedApplicationCreateFromPath
,因为路径尚不存在。
答案是最初创建您自己的允许访问所有应用程序的 ACL。
然后,您可以在返回沙盒应用程序后再次覆盖 ACL,以再次限制访问,仅限受信任的应用程序(您的和您可能拥有的任何 XPC 进程)。
有关如何构建此许可 ACL 的详细信息,请参见此处。