但是,我已经看到在整个文档中链接的明确部分,
App Sandbox Design Guide > App Sandbox In Depth > Container Directories and File System Access > The Application Group Container Directory和Entitlements Key Rerefence > Enabling App Sandbox > Adding an App to an App Group与此直接相矛盾,明确表示“必须从您的开发团队编号开始,其次是一段时间”.
这些部分中给出的示例分别如“Z123456789.com.example.app-group”和“DG29478A379Q6483R9214.HolstFirstAppSuite”. (呃,最后一个是一个超级奇怪的团队身份还是什么?)
所以有了这个不一致的情况,我该怎么办才能使应用程序组ID工作?我应该在配置门户“group.TEAM-ID.com.example.blah”中输入?我应该在我的源代码字符串中使用相同的字符串,也可以省略“组”.部分就像许多代码示例一样?或者是文档错误,团队ID是不需要的?
上下文…我一直在尝试更新一个iOS Cocoa的测试应用程序,所以我可以看到扩展名< - >应用程序通信在行动.将我的控件中的应用程序ID和组ID更新为一个,当使用类似于项目原始组的组ID时,如“group.com.mycompany.thingie”,我看到containerURLForSecurityApplicationGroupIdentifier:只返回nil和nothing else有修复.
更新(为了清楚起见,为了清楚起见,请告诉我这个Q是多少点击)事实证明,这个东西比我原来以为更宽容,因为没有结果是(主要是)我的做法.看到答案&它的评论线程.我没有检查文件和文件例子比较清楚.
解决方法
只要com.companyname.appname与您将目标的通用组件标识符进行设置相匹配,那么您应该可以转到“功能”选项卡,打开“应用程序组”,单击刷新符号和组在“配置门户”中创建的应用程序应该出现在“group.com.companyname.appname”中,您可以选择将其关闭,然后会出现权限错误.点击“修复问题”应该自动解决.
现在,如果您导航到您的权利文件,您会注意到“com.apple.security.applications-groups”将有一个项目,它将被设置为完全相同的“group.com.companyname.appname”值.
我已经在设备上进行了测试,没有任何问题.这并不能解释文档的不一致,但我可以保证这一点.