我有一个在模拟器中运行良好的项目。当我尝试在设备上运行时,我收到以下警告:
应用安装失败
This application’s bundle identifier does not match its code signing identifier.
我尝试通过搜索上述消息文本发现的帖子中的各种建议。一切都没有用。
问题:如何显示不匹配的值?我知道我正在使用Bundle Identifier的价值。如何显示代码签名标识符的值? (我知道代码签名身份)。 Xcode试图匹配的确切值是什么以及它们是如何建立的?
更多信息:
我正在使用Xcode的自动管理签名设置。我已经成立了团队。 Xcode托管配置文件旁边的信息泄露按钮会显示一个包含六个主菜的弹出窗口,所有这些都显示正常,包括应用ID与捆绑ID匹配的第一个条目。
我也尝试了各种手动尝试。
我尝试了一个“从头开始”流程,如下所示:
第1阶段 - 清理
Xcode中:
钥匙串:
Apple Dev网站:
MBP:
阶段2 - 构建项目
Xcode中:
Your account already has a signing certificate for this machine but it is not present in your keychain. To create a new one, you must first revoke the existing certificate.
钥匙串:
MBP:
Apple Dev网站:
第3阶段 - 运行项目
Xcode中:
在设备上运行
应用安装失败
This application’s bundle identifier does not match its code signing identifier.
答案 0 :(得分:0)
我认为您需要检查项目包ID是否匹配
这可能是一个问题。
让我知道它是否有帮助。
答案 1 :(得分:0)
当我尝试将交叉编译的dylib打包为框架时,我遇到了类似的问题。通过查看设备日志,我可以获得更详细的描述
codeSigningInfoByValidatingResources:performingOnlineAuthorization:ignoringCachedSigningInfo:checkingTrustCacheIfApplicable:error:]: 817: Code signing identifier (DYLIB_NAME) does not match bundle identifier (BUNDLE_IDENTIFIER)
我的解决方案是调整DYLIB_NAME以匹配BUNDLE_IDENTIFIER。但是,有一个陷阱:不知何故,XCode似乎能够提取dylib的原始内部版本名称。因此,仅重命名文件就无济于事:我必须调整dylib的构建目标才能使该解决方案起作用。
答案 2 :(得分:0)