有许多关于错误消息The executable was signed with invalid entitlements
的SO帖子,当安装和运行分发版本以准备应用商店发布时。我尝试了许多答案都没有成功,我认为我的手表目标情况有些不同,因此可能需要额外的见解。
com.Company.MyApp
、com.Company.MyApp.watchkitapp.watchkitextension
、com.Company.MyApp.watchkitapp
。我们知道,为了使权限有效,与应用程序ID相对应的在苹果开发者会员中心启用的服务需要与Xcode中各自应用程序目标的功能相同。
问题是,watchkit应用程序目标的功能选项卡不包含会员中心列出的所有服务。例如,这是成员中心中MyApp Watchkit App的设置:
![enter image description here](https://istack.dev59.com/LRxZI.webp)
Game Center
和In-App Purchase
,并且无法禁用。(如果单击编辑按钮,您将注意到禁用选项已变灰)。这是MyApp Watchkit应用程序目标的
Capabilities
选项卡:
![enter image description here](https://istack.dev59.com/H4sZe.webp)
App Groups
功能。因此,我无法在Xcode中启用Game Center
和In-App Purchase
。WatchKit Extension目标具有更多功能,但仍然缺少Game Center
和In-App Purchase
。过去,在添加手表目标之前,确保能力与Member Center中的匹配总是可以解决此问题。我认为这可能是我遇到授权错误的原因(只是猜测,甚至可能不是问题)。但是,这一次我似乎找不到解决方法,因为我无法在Member Center中禁用
Game Center
,也无法在Xcode中为手表目标启用它们。我已经尝试过其他答案中的一些方法,但没有起作用:
从零开始,创建全新的应用程序ID和配置文件,在Xcode的Capability选项卡和会员中心应用程序ID设置中关闭所有功能,以确保它们匹配;删除所有旧的配置文件并重新下载,然后在Xcode的目标构建设置中设置正确的代码签名和配置文件。
更改应用程序ID的名称以匹配“XC com company myapp”的格式,在会员中心中进行。
退出、重启、清理和重建。
删除构建设置中的代码签名授权文件,就像许多帖子建议的那样。