【发布时间】:2017-11-20 10:57:39
【问题描述】:
我有一个在模拟器中运行良好的项目。当我尝试在设备上运行时,我收到以下警报:
应用安装失败
This application’s bundle identifier does not match its code signing identifier.
我尝试了通过搜索上述消息文本发现的帖子中的各种建议。一切都无济于事。
问题:如何显示不匹配的值?我知道我为 Bundle Identifier 使用了什么值。如何显示代码签名标识符的值? (我知道代码签名身份)。 Xcode 究竟试图匹配哪些值以及它们是如何建立的?
更多信息:
我正在使用 Xcode 的 自动管理签名 设置。我已经设置了团队。 Xcode Managed Profile 旁边的信息披露按钮显示了一个弹出窗口,其中包含六个主条目,所有条目看起来都正常,包括 App ID 与 Bundle ID 匹配的第一个条目。
我也尝试过各种手动尝试。
更新
我尝试了一个“从头开始”过程,如下所述:
第 1 阶段 - 清理
Xcode:
- 从设备中删除所有配置文件
- 清理项目
- 关闭项目
- 退出 Xcode
钥匙串:
- 移除 iPhone 开发者证书
- 不要删除任何登录密钥,因为有许多同名的密钥,我无法区分它们
Apple 开发网站:
- 删除所有 iOS 证书
- 删除所有开发配置文件
- 请勿移除任何设备
MBP:
- 从 ~/Library/MobileDevice/Provisioning\ Profiles 中删除所有配置文件
- 从 /Library/Developer/Xcode/DerivedData 中删除所有项目目录
- 重启
第 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. - 单击撤销按钮。
- 证书是自动生成的
- 构建(成功)
- 检查构建日志以验证用于代码签名步骤的 SHA1 与自动生成证书的 Keychain SHA1 匹配
钥匙串:
- 验证 KeyChain 中是否存在自动生成的证书
MBP:
- 验证自动生成的配置文件已添加到 ~/Library/MobileDevice/Provisioning\ Profiles
- 验证设备 UUID 是否包含在自动生成的配置文件中
Apple 开发网站:
- 验证自动生成的 iOS 开发证书是否存在
- 自动生成的配置文件未列出(不存在配置文件)
第 3 阶段 - 运行项目
Xcode:
- 在模拟器中运行(成功)
-
在设备上运行
应用安装失败
This application’s bundle identifier does not match its code signing identifier.
【问题讨论】:
标签: ios xcode code-signing-certificate