【问题标题】:Should macOS App Group name start with `group.` or Development Team ID?macOS 应用程序组名称应该以“组。”还是开发团队 ID 开头?
【发布时间】:2016-10-28 12:15:07
【问题描述】:

当我尝试将我的应用上传到 Mac App Store 时,出现错误 -

iTunes Store 操作失败。

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

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

【问题讨论】:

    标签: macos entitlements ios-app-group appgroups


    【解决方案1】:

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

    此键的值必须是数组类型,并且必须包含一个或多个字符串值,每个字符串值必须由您的开发团队 ID,后跟一个句点,后跟任意您的开发团队选择的名称

    请查看以下来自 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>
    

    【讨论】:

      【解决方案2】:

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

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

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

      使用 Jerry 的应用程序组名称应该可以工作。

      【讨论】:

        【解决方案3】:

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

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

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

        【讨论】:

          猜你喜欢
          • 2015-06-24
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2011-11-07
          • 2015-03-11
          • 1970-01-01
          • 1970-01-01
          • 2014-11-12
          相关资源
          最近更新 更多