当我尝试在设备上构建并运行应用程序时,我得到以下错误App installation failed: This application's bundle identifier does not match its code signing identifier.
我检查了签名证书,捆绑ID,配置文件,权利以及一切正确。
有任何想法吗 ?
最后,错误是由Carthage引起的。
删除并重建所有框架后,它修复了问题。
Building Phases
+
唱歌并在New Run Script Phase
中添加脚本/usr/local/bin/carthage copy-frameworks
添加到脚本框中。Input Files
中,为您在应用中使用的每个Carthage框架添加一行:$(SRCROOT)/Carthage/Build/iOS/FrameworkName.framework
Output Files
下为每个框架添加:$(BUILT_PRODUCTS_DIR)/$(FRAMEWORKS_FOLDER_PATH)/FrameworkName.framework
这个过程为我修好了。它可以在Carthage文档下找到。您可以在第4,5,6项中看到此过程.https://github.com/Carthage/Carthage#adding-frameworks-to-an-application
你使用自定义.xcconfig
文件?
有时,自定义.xccofigs可以覆盖默认的代码签名设置。
1)通过以下方式查看项目是否具有自定义配置:--- 1)单击project
,无论在Xcode中调用项目名称(通常在顶部)
2)在右侧,您将看到您的项目设置。在这里,您可以设置标识符..如果没有,那么您的错误视图。这是你应该看到的:
3)将“bundle Identifier”更改为“com.yourcompany.yourAppName”的效果。 --- com.yourcompany是您的网站域名反转.. Apple推荐此项。 --- com.yourcompany是应用程序名称或“昵称”之后,你可以这样做.com.yourcompany.myCoolApp将是完整的标识符。
4)完成此操作后,请确保在“构建设置”下,如下所示:
---您的“代码签名身份”设置为您想要的任何身份。对于iOS或OSX上的调试,您使用“iPhone Developer:Your Name xxx”或“Mac Developer:Your Name xxx”。
您的应用程序由Provisioning Profile签署,而Provisioning Profile又链接到证书(可以用于开发或分发)。
现在证书有一个Bundle ID,可以是:
无论哪种方式,您的应用的捆绑包标识符都必须与绑定到您的配置文件的证书的捆绑ID相匹配。不匹配会触发您遇到的错误。