macOS App Group名称应该以“group。”还是“开发团队ID”开头?

时间:2016-06-26 10:52:38

标签: macos entitlements ios-app-group appgroups

当我尝试将我的应用程序上传到Mac App Store时,我收到错误 -

  

iTunes Store操作失败。

     

无效的代码签名权利。您的应用程序包的签名包含Mac OS X不支持的代码签名权利。具体而言,值'[group.MyCompany.MyProject]'用于'com.MyCompany.mac中的密钥'com.apple.security.application-groups'。不支持MyProject.pkg / Payload / MyProject.app / Contents / MacOS / MyProject'。该值应该是字符串或字符串数​​组,每个字符串以TEAMID开头,后跟一个点'。'。

但我读到共享组必须以group.前缀开头 - 那么正确的方法是什么?

3 个答案:

答案 0 :(得分:3)

不,macOS应用程序组必须以您的开发团队ID 开头。

The value for this key must be of type array, and must contain one or more string values, each of which must consist of your development team ID, followed by a period, followed by an arbitrary name chosen by your development team

请从Apple开发页面查看以下示例 https://developer.apple.com/library/mac/documentation/Miscellaneous/Reference/EntitlementKeyReference/Chapters/EnablingAppSandbox.html#//apple_ref/doc/uid/TP40011195-CH4-SW19

<key>com.apple.security.application-groups</key>
<array>
    <string>DG29478A379Q6483R9214.HolstFirstAppSuite</string>
    <string>DG29478A379Q6483R9214.HolstSecondAppSuite</string>
</array>

答案 1 :(得分:3)

group.identifier用于iOS App Group名称; TEAMID后跟一个点,然后名称(如错误消息所述)用于Mac App Group名称。

另请注意,这必须是您的开发团队ID;不要像Xcode建议的那样使用$(TeamIdentifierPrefix)

出于某种原因,在归档项目时,$(TeamIdentifierPrefix)构建时变量未正确解析。

使用Jerry的应用程序组名称应该有效。

答案 2 :(得分:1)

iOS 应用组必须在门户中注册,因为它们需要在配置文件中列入白名单,并且门户不允许您创建不以 group. 开头的应用组

macOS 应用程序组根本不必在门户中注册,它们也不会在配置文件中列入白名单,因为它们甚至不存在于配置文件中。但是,如果您在 Mac App Store 上发布您的应用程序,它将强制您的应用程序组必须以您的团队 ID 为前缀。

有关这一切的更多详细信息,请参阅此处:
https://stackoverflow.com/a/66639271/15809