自从Xcode 8发布以来,我无法使用Cordova完成我的iOS应用程序的成功构建。我现在使用Cordova 7.0.1和Xcode 8.3.3并在“cordova build ios”上得到相同的错误:
找不到'bundle_id'的配置文件:Xcode找不到与'bundle_id'匹配的配置文件。 SDK“iOS 10.3”中的产品类型“应用”需要代码签名
我已经创建并重新创建了证书和配置文件,确保选择了正确的Bundle ID,双击要在Keychain中安装的证书,下载了配置文件,似乎没有任何工作。我还尝试在Cordova的根目录中创建一个build.json文件,其中包含以下内容:
{
"ios": {
"debug": {
"codeSignIdentity": "iPhone Developer",
"developmentTeam": "<team id>",
"packageType": "development"
},
"release": {
"codeSignIdentity": "iPhone Developer",
"developmentTeam": "<team id>",
"packageType": "app-store"
}
}
使用配置文件的UUID指定“provisioningProfile”也无济于事。
我能够在Xcode中成功完成构建并创建存档并安装到我的设备,但它在启动画面后立即崩溃。假设这是因为Cordova没有完成一次成功的构建。
几个星期以来,我一直在努力解决这个问题,一直在寻找各地的论坛,没有任何帮助。我甚至尝试过关闭并重新打开Xcode,就像许多人建议的那样,也没有帮助。
思考?
编辑:
我在尝试添加配置文件后尝试重新启动Xcode,并尝试使用Cordova删除iOS平台并重新添加。这些选项都没有奏效。
Xcode和bundle id中的bundle标识符是相同的。再次检查。
您肯定需要在构建计算机上安装一个配置文件,该配置文件具有与您正在构建的应用程序的软件包标识符相同的软件包ID。如果您对此有所了解,还有一些注意事项。请查看这篇文章:
After upgrading to xcode 9, cordova app won't build, error 70, requires provisioning profile
它详细介绍了一组build.json设置,以及最新Xcode 9的一些其他问题。
在运行iOS的构建命令时,错误仍然显示(现在使用Cordova版本8.1.2),但编译现在已成功。我不确定版本之间有什么变化,但我现在能够成功构建iOS版本,即使配置文件错误也是如此。配置文件在XCode中正确设置,并且能够在XCode中成功构建。
更新:
我还注意到,当我的设备没有插入Mac时,Cordova编译时没有显示配置文件错误。但是,无论哪种方式,仍然可以获得成功的编译,即使在Cordova编译时显示错误消息。