在配置门户(或现在的任何名称)中创建应用程序组 ID 时,它会显示“输入应用程序组的唯一标识符,以字符串“组”开头”,并且似乎在输入字段中强制执行此操作。此外,许多示例代码使用应用程序组 ID 字符串,例如“group.com.company.blah”。
然而,我在整个文档中看到链接的明确部分,应用程序沙箱设计指南 > 应用程序沙箱深入了解 > 容器目录和文件系统访问 > 应用程序组容器目录 https://developer.apple.com/library/mac/documentation/Security/Conceptual/AppSandboxDesignGuide/AppSandboxInDepth/AppSandboxInDepth.html#//apple_ref/doc/uid/TP40011183-CH3-SW21 and 权利密钥参考 > 启用应用程序沙箱 > 将应用程序添加到应用程序组 https://developer.apple.com/library/mac/documentation/Miscellaneous/Reference/EntitlementKeyReference/Chapters/EnablingAppSandbox.html#//apple_ref/doc/uid/TP40011195-CH4-SW19,直接反驳这一点,明确指出“必须以您的开发团队 ID 开头,后跟一个句点”。
这些部分中给出的示例分别类似于“Z123456789.com.example.app-group”和“DG29478A379Q6483R9214.HolstFirstAppSuite”。(什么,最后一支是一支超级奇怪的球队还是什么?)
那么,由于这种不一致,我该怎么做才能让应用程序组 ID 发挥作用呢?我应该输入配置门户“group.TEAM-ID.com.example.blah”吗?我应该在源代码字符串中使用相同的字符串,还是省略“组”。像许多代码示例一样?或者文档是否错误并且团队 ID 根本不需要?
上下文...我一直在尝试更新 iOS cocoapod 的测试应用程序,以便我可以看到正在运行的扩展 应用程序通信。将应用程序 ID 和组 ID 更新为我的控制范围后,并且使用与项目原始 ID 类似的组 ID(例如“group.com.mycompany.thingie”)时,我看到containerURLForSecurityApplicationGroupIdentifier:
除了返回 nil 之外什么也不做没有其他的 https://stackoverflow.com/questions/26740404/containerurlforsecurityapplicationgroupidentifier-returns-nil-on-ios-simulator已修复它。
UPDATE: (添加此内容是为了清楚地了解 SO 如何通知我这个 Q 得到了很多点击)事实证明这个东西比我最初想象的更宽容,因为nil
结果证明(大部分?)是我造成的。查看答案及其评论线程。我还没有检查文档和示例是否更清晰。
On https://developer.apple.com https://developer.apple.com当您转到“应用程序组”部分并首先生成应用程序组时,在“证书、标识符和配置文件”内,所需的只是强制执行的 group.com.companyname.appname
只要 com.companyname.appname 与您在常规下为目标设置的包标识符相匹配,您就应该能够转到“功能”选项卡,打开“应用程序组”,单击刷新符号,然后选择您想要的组。刚刚在 Provisioning Portal 中创建的内容应该出现在那里,作为“group.com.companyname.appname”,您可以选择将其选中,然后会出现权利错误。单击“修复问题”应该会自动解决它。
现在,如果您导航到权利文件,您会注意到“com.apple.security.applications-groups”将有一个项目,并且它将被设置为完全相同的“group.com.companyname.appname”值。
我已经在设备上进行了测试,还没有出现任何问题。这并不能解释文档中的不一致,但我可以保证这是有效的。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)