我正在尝试将一个应用程序上传到应用商店,但在证书页面上出现了这个错误。据我所知,我已经更改了字段以使它们匹配,但是我肯定还有一些遗漏。
非常感谢任何帮助。
我正在尝试将一个应用程序上传到应用商店,但在证书页面上出现了这个错误。据我所知,我已经更改了字段以使它们匹配,但是我肯定还有一些遗漏。
非常感谢任何帮助。
我不确定为什么这样可以解决问题,但我进入了目标的“能力”选项卡,打开了iCloud,尝试进行存档构建,失败了,然后关闭了iCloud,再次进行存档构建并成功了,之后就能自动解决证书问题了。
右击Finder->前往文件夹...
~/Library/MobileDevice/Provisioning
适用于 Xcode 11
~/Library/MobileDevice/Provisioning Profiles/
删除所有配置文件,完成。
~/Library/MobileDevice/Provisioning Profiles/
。 - Marius Kažemėkaitisapplication-identifier
值,无法满足配置文件的期望。为团队2ABCDEFG
的appID com.example.foo
期望的是application-identifier: 2ABCDEFG.com.example.foo
,而您的应用程序声明其appID为com.example.foo
,但application-identifier
不匹配,可能是使用了错误的团队前缀或捆绑标识符配置不正确。com.example.foo
用于生产环境,com.example.foo.qa
用于QA。Info.plist
中的bundleIdentifier
设置为$(PRODUCT_BUNDLE_IDENTIFIER)$(BUNDLE_SUFFIX)
,这可以让模拟器和设备上拥有不同的应用程序。然而,在归档阶段生成application-identifer
时,它似乎没有读取由Info.plist生成的bundleIdentifier。FooProject.xcodeproj/project.pbxproj
(使用文本编辑器),将QA buildSettings的PRODUCT_BUNDLE_IDENTIFIER
更改为com.example.foo.qa
您可以查看苹果的技术问题解答和此页面,以深入了解解决此问题的方法。一旦您在导出的应用程序上运行以下操作:codesign -d --entitlements :- ./Payload/myApp.app
查看刚刚构建的应用程序使用了哪个application-identifier
,很快就可以意识到你做错了什么。
在我的 Google 搜索中没有找到那个页面,因为他们实际上并没有使用错误信息中的短语或称呼完整名称的application-identifier
,而是称其为应用程序 ID(App ID)。
此问题的解决方案也不是生成一个具有application-identifier
权限的新配置文件,它确实具有该权限,但配置文件中的值和你的应用程序必须匹配。
也许{project}.entitlements文件丢失了。按照@samkass所述的操作将自动生成该文件,然后它就可以工作了。 因此,只需转到功能选项卡,启用任何选项,然后禁用它即可。
配置文件与应用标识和钥匙串访问组的授权文件值不匹配。
对我来说,技巧是:
我进入了我的Target的“Capabilities”选项卡,打开了钥匙串共享功能,然后它开始工作。
entitlements.plist
文件。 - Imad Ali