我有一个在模拟器中运行良好的项目。当我尝试在设备上运行时,我收到以下警报:
应用安装失败
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
钥匙串(keychain):
- 移除 iPhone 开发者证书
- 不要删除任何登录 key ,因为有许多同名 key ,我无法区分它们
Apple 开发站点:
- 删除所有 iOS 证书
- 删除所有开发配置文件
- 不要删除任何设备
MBP:
- 从 ~/Library/MobileDevice/Provisioning\Profiles 中删除所有配置文件
- 从/Library/Developer/Xcode/DerivedData 中删除所有项目目录
- 重启
第 2 阶段 - 构建项目
代码:
- 启动并打开项目
- 常规->签名->状态报告:
您的帐户已有此机器的签名证书,但它不在您的钥匙串(keychain)中。要创建新证书,您必须先撤销现有证书。
- 点击撤销按钮。
- 证书是自动生成的
- 构建(成功)
- 检查构建日志以验证用于代码签名步骤的 SHA1 是否与自动生成证书的钥匙串(keychain) SHA1 匹配
钥匙串(keychain):
- 验证 KeyChain 中是否存在自动生成的证书
MBP:
- 验证自动生成的配置文件已添加到 ~/Library/MobileDevice/Provisioning\Profiles
- 验证设备 UUID 是否包含在自动生成的配置文件中
Apple 开发站点:
- 验证是否存在自动生成的 iOS 开发证书
- 未列出自动生成的配置文件(不存在配置文件)
第 3 阶段 - 运行项目
代码:
- 在模拟器中运行(成功)
在设备上运行
应用安装失败
此应用程序的包标识符与其代码签名标识符不匹配。
最佳答案
我认为您需要检查您的项目包 ID 是否匹配
- 常规标签
- 信息.plist( screenshot for inf.plist )
- build设置选项卡(screenshot for build settings .)
这可能是个问题。
如果有帮助,请告诉我。
关于ios - 将 Xcode 项目包标识符与代码签名标识符匹配,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44610010/