将Xcode项目包标识符与代码签名标识符

时间:2017-06-17 22:34:17

标签: ios xcode code-signing-certificate

我有一个在模拟器中运行良好的项目。当我尝试在设备上运行时,我收到以下警告:

应用安装失败

This application’s bundle identifier does not match its code signing identifier.

我尝试通过搜索上述消息文本发现的帖子中的各种建议。一切都没有用。

问题:如何显示不匹配的值?我知道我正在使用Bundle Identifier的价值。如何显示代码签名标识符的值? (我知道代码签名身份)。 Xcode试图匹配的确切值是什么以及它们是如何建立的?

更多信息:

我正在使用Xcode的自动管理签名设置。我已经成立了团队。 Xcode托管配置文件旁边的信息泄露按钮会显示一个包含六个主菜的弹出窗口,所有这些都显示正常,包括应用ID与捆绑ID匹配的第一个条目。

我也尝试了各种手动尝试。

更新

我尝试了一个“从头开始”流程,如下所示:

第1阶段 - 清理

Xcode中:

  • 从设备中删除所有配置文件
  • 清理项目
  • 关闭项目
  • 退出Xcode

钥匙串:

  • 删除iPhone开发人员证书
  • 不要删除任何登录密钥,因为有许多具有相同名称的密钥,我无法在它们之间进行区分

Apple Dev网站:

  • 删除所有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 Dev网站:

  • 验证自动生成的iOS开发证书是否存在
  • 未列出自动生成的配置文件(不存在配置文件)

第3阶段 - 运行项目

Xcode中:

  • 在模拟器中运行(成功)
  • 在设备上运行

    应用安装失败

    This application’s bundle identifier does not match its code signing identifier.

3 个答案:

答案 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)

在iTunes中,如果他有权访问证书,标识符和配置文件,则将其更改为每个角色都有一个标志。默认情况下为false。

我要做的就是:

转到iTunesConnect->用户和访问权限->通过选中“访问证书,标识符和配置文件”框来编辑我的角色

enter image description here