在Visual Studio Team Services中构建Cordova应用程序(iOS)

时间:2016-05-07 13:49:51

标签: ios cordova azure-devops

我有一个Cordova应用程序,我一直在使用Visual Studio Tools for Apache Cordova开发。

该应用程序将在iOS和Android(至少)上运行

我正在使用Visual Studio Team Services进行源代码管理并构建应用程序。此外,我已经将VSTS挂钩到HockeyApp,目的是建立一个允许我构建应用程序并将应用程序分发给我的测试人员的工作流程。

Android版本运行正常。

iOS版本正在努力。

我认为我的问题在于签名证书和/或配置文件。

我已通过Apple开发者帐户创建了签名证书。然后我下载证书并将其导入Key Chain Access。然后,我将证书导出为.p12文件,并将其包含在应用程序源中。

我还创建了配置文件,并包含了我的测试iOS设备的UUIDs。这与上述证书相关联,并且也包含在应用程序源中。

在VSTS中,我配置了Cordova扩展以允许我构建。

我已配置“Cordova Build”步骤以包含证书和配置文件:

enter image description here

但是,无论我做什么,我的构建都会失败,并显示以下错误消息:

2016-05-07T13:00:49.400Z: Cordova version set to 6.0.0 based on the contents of taco.json
2016-05-07T13:00:49.405Z: [command]/usr/local/bin/node /Users/brendan/agent/_work/tasks/CordovaBuild/1.3.8/cordova-task.js
2016-05-07T13:00:49.946Z: [command]/bin/bash /Users/brendan/agent/_work/tasks/CordovaBuild/1.3.8/lib/createkeychain.sh /Users/brendan/agent/_work/2/s/paygle.cordova/_tasktmp.keychain 0.3689059684984386 /Users/brendan/agent/_work/2/s/paygle.cordova/deploy/certificate.p12 ********
2016-05-07T13:00:50.085Z: 1 identity imported.
2016-05-07T13:00:50.156Z:      0 valid identities found
2016-05-07T13:00:50.164Z:     "/Library/Keychains/System.keychain"
2016-05-07T13:00:50.240Z: Command failed: /usr/bin/security find-identity -v -p codesigning "/Users/brendan/agent/_work/2/s/paygle.cordova/_tasktmp.keychain" | grep -oE '"(.+?)"'
2016-05-07T13:00:50.241Z: 

我已经检查并重新检查了这方面的文档,但我不清楚问题是什么。我怀疑证书和/或配置文件没有正确创建,但我不确定哪个位错了。

任何帮助表示感谢。

1 个答案:

答案 0 :(得分:0)

根据MSDN上的instruction,您需要知道的另外两点可能会导致在MAC上构建时出现签名问题:

  1. Apple的WWDR证书
  2.   

    注意:Apple的WWDR证书已于2月14日到期,因此   如果您尚未更新证书,则可能会遇到签名失败   并删除旧的。按照什么,在Apple下概述的步骤   如果Xcode无法识别我的发行证书,我该怎么办?至   解决问题。请注意,这也会影响开发证书   尽管有标题。

    但是,此问题会影响Xcode,但您使用的是Cordova。所以你可以先检查第2点。

    1. 构建代理
    2.   

      疑难解答提示:您应该设置跨平台代理   作为启动代理(./svc.sh安装代理)或将其作为交互式运行   构建Cordova项目时的进程(node agent / vsoagent.js)   由于代码签名证书存储时出现问题而导致iOS定位   使用启动守护程序。

      有关App Signing的更多详细信息:Simple, Secure CI App Signing Using Visual Studio Team Services or Team Foundation Server 2015