Xcode 8和iOS 10 Cordova项目上的代码签名错误
我有一个cordova项目,我build立和运行本地部署在我的iPhone和Android设备上。
但是,我升级到Xcode 8
和我的iPhone iOS
到iOS 10
,我无法在本地生成ipas。 它失败,并出现以下错误。
===使用configurationdebugging===构build目标*的项目*
检查依赖性签署“ *”需要一个开发团队。 在项目编辑器中select一个开发团队。 ** SDK'iOS 10.0'中的产品types'Application'需要代码签名
更新之前,这是完美的工作。 更新之后, iOS
构build失败。
该项目的相关版本号是
ios-deploy -V - 1.8.6 xcodebuild -version - Xcode 8.0 Build version 8A218a
我有我的Xcode
安装与适当的证书和供应configuration文件。
正如dpogue指出的那样,cordova用这个承诺来解决这个问题
92a62997adb3c8512328d5a0ae42fe5d156291f1
它位于iOS平台存储库的主分支中。
为了从这个修复中受益,你必须安装最新的开发版本
cordova platform remove ios && cordova platform add https://github.com/apache/cordova-ios.git
你需要添加一个build.json
文件到你的项目根目录,看起来像这样
{ "ios": { "debug": { "developmentTeam": "YOURTEAMID" }, "release": { "developmentTeam": "YOURTEAMID" } } }
你可以在这里获得你的团队ID: https : //developer.apple.com/account/#/membership
现在运行你的构build
cordova run ios --device
…或者指定你的build.json
cordova run --buildConfig=build.json ios --device
它应该工作!
我写了有关解决此问题的解决方法:
https://dpogue.ca/articles/cordova-xcode8.html
总而言之,您需要指定您的开发者团队ID。 在Cordova-iOS的下一个版本中,您可以在build.json文件中使用developerTeam
进行此操作。 我同时有一个钩子 。
您还需要将您的代码签名标识设置为“iPhone开发人员”, 即使是发布版本 。 在build.json中用codeSignIdentity
来做到这一点。
您不需要指定供应configuration文件,Xcode将自动处理它具有团队ID。
希望有所帮助!
这对我有用
"ios": { "release": { "developmentTeam": "yourdevteamid", "packageType": "app-store", "provisioningProfile": "yourprovfileUUID" } } }
如果我添加“codeSignIdentity”:“iPhone开发”,它不起作用,所以删除build.json文件中的codeSignIdentity。 我还必须将所有图标添加到config.xml
<icon src="res/ios/icon-60@3x.png" width="180" height="180" /> <!-- iOS 7.0+ --> <!-- iPhone / iPod Touch --> <icon src="res/ios/icon-60.png" width="60" height="60" /> <icon src="res/ios/icon-60@2x.png" width="120" height="120" /> <!-- iPad --> <icon src="res/ios/icon-76.png" width="76" height="76" /> <icon src="res/ios/icon-76@2x.png" width="152" height="152" /> <!-- Spotlight Icon --> <icon src="res/ios/icon-40.png" width="40" height="40" /> <icon src="res/ios/icon-40@2x.png" width="80" height="80" /> <!-- iOS 6.1 --> <!-- iPhone / iPod Touch --> <icon src="res/ios/icon.png" width="57" height="57" /> <icon src="res/ios/icon@2x.png" width="114" height="114" /> <!-- iPad --> <icon src="res/ios/icon-72.png" width="72" height="72" /> <icon src="res/ios/icon-72@2x.png" width="144" height="144" /> <!-- iPhone Spotlight and Settings Icon --> <icon src="res/ios/icon-small.png" width="29" height="29" /> <icon src="res/ios/icon-small@2x.png" width="58" height="58" /> <!-- iPad Spotlight and Settings Icon --> <icon src="res/ios/icon-50.png" width="50" height="50" /> <icon src="res/ios/icon-50@2x.png" width="100" height="100" /> <!-- iPad Pro --> <icon src="res/ios/icon-83.5@2x.png" width="167" height="167" />
我在Apache Cordova上为xCode 8创build了相同的问题,尝试了我找不到任何结果的解决scheme,唯一可行的就是在build.son文件中指定开发团队,包types和configuration文件这个:
{ "ios": { "release": { "developmentTeam": "yourdevteamid", "packageType": "app-store", "provisioningProfile": "yourprovfileUUID" } } }
许多poststbuild议specularfing的“codeSignIdentity”:“iPhone开发人员”,但这给了另一个错误,只有这个configuration为我工作(也许是如何开发证书创build?),希望它可以帮助某人。
您只需要在Xcode项目设置常规选项卡中启用“自动pipe理签名”选项,并且所有签名相关的问题都将得到修复,请查看我的这个答案:
http://stackoverflow.com/questions/39568005/xcode-8-shows-error-that-provisioning-profile-doesnt-include-signing-certificat
在升级Xcode 8.2.1和配套的Xcode命令行工具之后,出现类似的问题。
解决scheme,为我工作:
1)打开Xcode首选项 – >帐户
2)删除一个现有的帐户(AppleID)
3)使用AppleID添加新帐户
4)select打开右窗格显示的新账户,点击“查看详情”。
5)根据需要生成新的签名身份,特别是“iOS开发”。 点击“完成”。
继所有我的cordova应用程序允许“cordovabuild立ios”。
更新到cordova ios 4.3.1,并指定build.json文件,如上所述,对我来说(可能4.3.0包括修复)
要更新您的平台:
cordova平台更新IOS
我们团队的定制构build脚本运行sudo cordova build ios
。
对我来说,工作是重build项目,而不需要使用sudo
修复权限错误。 然后从我们的构build脚本中删除了sudo
,一切正常。
**必须在第一次构build之后在xCode中指定团队。