gpt4 book ai didi

objective-c - Mac App Sandbox 组容器问题

转载 作者:太空狗 更新时间:2023-10-30 03:53:18 24 4
gpt4 key购买 nike

我在处理一个应用程序组中的两个沙盒应用程序时遇到了一些问题。在我的权利文件中,我有以下内容:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/ PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>com.apple.security.app-sandbox</key>
<true/>

<key>com.apple.security.application-groups</key>
<array>
<string>TEAM_ID.com.Company.AppName</string>
</array>
</dict>
</plist>

“公司”和“AppName”替换为我的公司,App 名称和 TEAM_ID 替换为我团队的 ID。这两个应用程序具有完全相同的权利。

现在,当我构建并启动这两个应用程序时,一切似乎都很顺利。除了在我的 ~/Library 文件夹中找不到“Group Containers”文件夹之外……有一个“Containers”文件夹,其中包含两个应用程序的文件夹。但是没有 Group Containers 文件夹。

我运行的是 10.8.2,我的应用的部署目标是 10.8。

根据开发者库,它应该从 10.7.4 开始可用。我用过这个:https://developer.apple.com/library/mac/#documentation/Miscellaneous/Reference/EntitlementKeyReference/Chapters/EnablingAppSandbox.html#//apple_ref/doc/uid/TP40011195-CH4-SW19创建我的权利。

我做错了什么?

谢谢,

最佳答案

官方 Apple 开发者论坛上有人建议以编程方式创建文件夹,这解决了我的问题!

NSString *groupContainer = [@"~/../../../Group Containers/TEAM_ID.com.Company.AppName" stringByExpandingTildeInPath];

[[NSFileManager defaultManager] createDirectoryAtPath:groupContainer withIntermediateDirectories:YES attributes:nil error:NULL]]

我已经将 Group Container 文件夹用于 plist 文件,我的主应用程序可以在其中写入我的助手(守护程序)应用程序可以读取的设置(使用 initWithContentsOfFile: 和 writeToFile: NSMutableDictionary 的方法)。这现在完美地工作了:)

关于objective-c - Mac App Sandbox 组容器问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15141853/

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