Cordova iOS 远程构建发布模式失败
Posted
技术标签:
【中文标题】Cordova iOS 远程构建发布模式失败【英文标题】:Cordova iOS Remote Build Release Mode fail 【发布时间】:2016-05-23 21:12:34 【问题描述】:使用远程构建通过 Visual Studio 构建 Cordova 应用程序。 正在使用 Cordova 版本 5.3.1,也尝试更新到最新版本的 Cordova - 6.2.1-nightly.2016.5.23.6e87c71a。
两次都在调试模式下工作,但在发布模式下不工作:
错误 - 误导并且什么也不说: http://imgur.com/TdSfuso
部分输出: 错误构建平台之一:错误:/Users/Jurgen/.taco_home/remote-builds/taco-remote/builds/66415/cordovaApp/platforms/ios/cordova/build:命令失败,退出代码为 2 1> 您可能没有构建此项目所需的环境或操作系统 (TaskId:10) 1> 无法为 buildNumber 66415 构建应用程序:/Users/Jurgen/.taco_home/remote-builds/taco-remote/builds/66415/cordovaApp/platforms/ios/cordova/build:命令失败,退出代码为 2(TaskId:10 ) 1>22:57:03.377 1> 1>错误:来自构建服务器的远程构建错误构建失败并出现错误/Users/Jurgen/.taco_home/remote-builds/taco-remote/builds/66415/cordovaApp/platforms/ios/cordova/build:命令失败并出现退出代码2:1 1> 完成执行任务“MdaVsCli”——失败。 (任务编号:10) 1>22:57:03.393 1> 1>在项目“MobileAppNew.jsproj”中完成构建目标“BuildMDA” -- FAILED.: (TargetId:11)
完整输出:
https://www.wetransfer.com/downloads/b9a4e2e932f98bb2286fbb6602c8dfc020160523210524/48dffd
我们计划将应用程序发送到 iOS 以在 App Store 上发布,但无法生成 .ipa 文件。任何帮助将不胜感激
【问题讨论】:
尝试将你的phonegap-plugin-push和cordova-plugin-inappbrowser插件更新到你项目中的最新版本。看看是否构建成功,如果没有,你能分享一个可以重现这个问题的基本演示? 我现在要试试这个然后回来。在发布模式下使用远程构建进行构建时,您可以选择什么设置仅获取 .ipa 文件而不实际部署在 iOS 设备上?我目前没有可以测试的 iOS 设备。我会尝试更新插件,但我仍然有推送插件 1.5.3 版本的原因是因为当我尝试更新它时,我遇到了其他部署问题(我之前已经发布过但没有得到回复 - 只是回到版本1.5.3 摆脱了这些问题 - 但那时我不是在发布模式下构建,而是在调试) 在我尝试部署之前,我正在设法构建。它告诉我检查我的配置文件。像往常一样构建时,会出现签名对话框(3x),我接受。我在某处读到,在发布模式下,您无法使用远程构建进行部署。所以我尝试使用 diawi.com 安装 .ipa 文件 - 在看似安装 100% 之后,我收到一条无法安装的消息。这可能是因为 prov 个人资料吗?我认为不需要在设备上安装发布配置文件吗?否则,这违背了发布版本的意义。我认为它应该与应用程序捆绑在一起。 要在 ios 设备上运行您的应用程序,Provisioning profile 是必要的,我建议您阅读document 的“在 iOS 设备上运行您的应用程序”部分。这是说明如何创建配置文件的文档:Create a provisioning profile。 我显然在与应用程序包标识符相关的应用程序 ID 上创建了发布证书和 prov 配置文件。我将它下载到 X-Code 中,它可以在 Preferences/View Details 中看到。尝试部署时,中途会弹出一个对话框,要求使用钥匙串使用证书对应用程序进行签名。这是 3 倍——我接受。最后,通过远程构建部署失败,没有具体错误,但输出给出消息“检查您的 prov 配置文件”。因为我有一个发布 prov 配置文件,所以我不知道要检查什么。任何帮助将不胜感激 【参考方案1】:我是如何解决这个问题的:
首先,在使用 App Store 生产证书时,我没有设法在设备上构建和部署。但是,我确实使用 Ad hoc 证书进行了管理,这是一个生产证书,唯一的区别是您仍然必须指定将在开发人员帐户中部署的设备的 UDID。
然后我将我的 Cordova 版本从 5.3.1 更新到了 6.2.0。我更新了 2 个过时的插件:Inappbrowser 和 Phonegap-plugin-push,瞧;该应用程序突然开始以发布模式部署(通过 taco 远程构建)。奇怪的是我一直在使用旧版本的cordova,并且在调试模式下运行时从来不需要更新插件——这就是为什么我花了更多时间才弄清楚的原因!祝你好运:)
【讨论】:
以上是关于Cordova iOS 远程构建发布模式失败的主要内容,如果未能解决你的问题,请参考以下文章
cordova ios 6.1.0 wkwebview 一些 xhr POST 失败
构建命令失败:CompileAssetCatalog - 适用于 iOS 的 Cordova
升级到 Cordova 4.0.0 使 iOS 构建失败,代码为 65