当我试图将我的应用程序上传到Mac app Store时,我得到错误-
iTunes Store操作失败。
无效的代码签名权利。您的应用程序包的签名包含Mac OS x上不支持的代码签名权利。MyProject]' for key 'com.apple.security。application-groups' in 'com.MyCompany.mac.MyProject.pkg/Payload/MyProject. pkgapp/Contents/MacOS/MyProject'不支持。该值应该是一个字符串或字符串数组,每个字符串都以TEAMID开头,后跟一个点'。"。
但是我读到共享组必须以group.
前缀开始-那么正确的方法是什么?
不,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>
group.identifier
用于iOS应用组名称;TEAMID
后面是一个点,然后是名称(如错误信息所述)用于Mac应用程序组名称。
还要记住,这必须是你的开发团队ID;不使用$(TeamIdentifierPrefix)
,如Xcode建议。
由于某些原因,$(TeamIdentifierPrefix
)构建时变量在归档项目时没有正确解析。
使用Jerry的应用程序组名应该可以。
iOS应用组必须在门户中注册,因为它们需要在配置配置文件中被列入白名单,并且门户不允许您创建不以group.
开头的应用组
macOS应用程序组根本不需要在门户中注册,它们也不会在配置文件中被列入白名单,因为它们甚至没有出现在配置文件中。如果你在Mac app Store上发布应用,它会强制你的应用组必须以你的团队ID作为前缀。
有关这一切的更多细节,请参阅这里:
https://stackoverflow.com/a/66639271/15809