此应用程序的包标识符与其代码签名标识符不匹配

问题描述 投票:8回答:4

当我尝试在设备上构建并运行应用程序时,我得到以下错误App installation failed: This application's bundle identifier does not match its code signing identifier.

我检查了签名证书,捆绑ID,配置文件,权利以及一切正确。

Error message

有任何想法吗 ?

xcode swift ios9 code-signing
4个回答
5
投票

最后,错误是由Carthage引起的。

删除并重建所有框架后,它修复了问题。


2
投票
  1. 进入Building Phases
  2. 单击+唱歌并在New Run Script Phase中添加脚本
  3. /usr/local/bin/carthage copy-frameworks添加到脚本框中。
  4. Input Files中,为您在应用中使用的每个Carthage框架添加一行:$(SRCROOT)/Carthage/Build/iOS/FrameworkName.framework
  5. 如果您仍然遇到问题,还可以在Output Files下为每个框架添加:$(BUILT_PRODUCTS_DIR)/$(FRAMEWORKS_FOLDER_PATH)/FrameworkName.framework

这个过程为我修好了。它可以在Carthage文档下找到。您可以在第4,5,6项中看到此过程.https://github.com/Carthage/Carthage#adding-frameworks-to-an-application


0
投票

你使用自定义.xcconfig文件?

有时,自定义.xccofigs可以覆盖默认的代码签名设置。

1)通过以下方式查看项目是否具有自定义配置:--- 1)单击project,无论在Xcode中调用项目名称(通常在顶部)

enter image description here

2)在右侧,您将看到您的项目设置。在这里,您可以设置标识符..如果没有,那么您的错误视图。这是你应该看到的:

enter image description here

3)将“bundle Identifier”更改为“com.yourcompany.yourAppName”的效果。 --- com.yourcompany是您的网站域名反转.. Apple推荐此项。 --- com.yourcompany是应用程序名称或“昵称”之后,你可以这样做.com.yourcompany.myCoolApp将是完整的标识符。

4)完成此操作后,请确保在“构建设置”下,如下所示:

enter image description here

---您的“代码签名身份”设置为您想要的任何身份。对于iOS或OSX上的调试,您使用“iPhone Developer:Your Name xxx”或“Mac Developer:Your Name xxx”。

  • 代码签名资源路径:为高级/命令行工具保留
  • 其他代码签名标志:不确定,从来没有使用过这个
  • 供应配置文件:IDEALLY将其设置为“自动”,以便Xcode处理设置。否则,当您在成员中心设置配置文件时,请在此处指定(请确保您已首先安装它)。

-2
投票

您的应用程序由Provisioning Profile签署,而Provisioning Profile又链接到证书(可以用于开发或分发)。

现在证书有一个Bundle ID,可以是:

  1. 通配符,例如“com.mydomain。*”OR
  2. 显式ID,例如“com.mydomain.myapp”

无论哪种方式,您的应用的捆绑包标识符都必须与绑定到您的配置文件的证书的捆绑ID相匹配。不匹配会触发您遇到的错误。

© www.soinside.com 2019 - 2024. All rights reserved.