享有权文档描述了multiple apps produced by a single development team can share access to a special group container沙盒可可应用程序组
我已经添加了权利关键,主要应用与被包含在主应用程序包一个辅助应用程序的方法。组目录永远不会被创建,并且获取路径的方法 - [NSURL containerURLForSecurityApplicationGroupIdentifier:]
- 实际上并不存在于任何头文件中。
我缺少什么创建共享组容器?
UPDATE:添加权利和组容器创建
这是我的权利文件的主要应用和帮助应用程序。 (我的实际ID替换TEAM_ID)
<?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.pinepointsoftware</string>
</array>
</dict>
</plist>
我试图创建本集团集装箱目录自己基于从开发论坛的一些信息:
NSFileManager *fm = [NSFileManager defaultManager];
NSString *path = [@"~/Library/Group Containers/TEAM_ID.com.pinepointsoftware" stringByExpandingTildeInPath];
if ([fm createDirectoryAtPath:path withIntermediateDirectories:YES attributes:nil error:NULL]) {
[fm createFileAtPath:[path stringByAppendingPathComponent:@"test.txt"] contents:nil attributes:nil];
}
执行主及和助手内应用程序在每个沙箱内创建两个不同的目录。
我找到了一个来自Apple的示例项目AppSandboxLoginItemXPCDemo,它使用XPC的应用程序组。我可以通过更改授权和捆绑标识符来匹配我的团队,但无法共享组容器。
你可以发布你的权利声明看起来像什么xml plist? – Dov 2012-07-27 00:03:38