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 iOS 构建 Libtool 失败错误

升级到 Cordova 4.0.0 使 iOS 构建失败,代码为 65

MFP Cordova-Ionic 项目的 IOS 构建失败

用于 Apache Cordova 的 VS 2015 工具 - iOS 远程构建不使用 buildServer