使用VSTS为android和IOS构建和部署离子应用程序

psy*_*cho 6 xcode ionic-framework azure-devops azure-pipelines

我有一个离子v1应用程序,我试图使用Visual Studio Team Services构建定义创建应用程序的Android和ios版本.该应用程序为ios和android构建.我现在遇到了应用程序的Xcode IOS构建问题.

ionic cordova build ios --release
Run Code Online (Sandbox Code Playgroud)

上面的命令创建了ios平台以及xcode项目和工作区文件.

然后我有以下VSTS XCode任务来尝试为ios应用程序构建ipa文件. 在此输入图像描述

我创建了p12证书和配置文件,并将它们添加到项目中.运行构建定义时都会传递这两个.

这是我的Xcode构建配置

在此输入图像描述

此时构建定义失败,出现以下错误

Code Signing Error: App has conflicting provisioning settings. App is automatically signed for development, but a conflicting code signing identity iPhone Distribution has been manually specified. Set the code signing identity value to "iPhone Developer" in the build settings editor, or switch to manual signing in the project editor.
Run Code Online (Sandbox Code Playgroud)

Code Signing Error: Code signing is required for product type 'Application' in SDK 'iOS 11.1'
Run Code Online (Sandbox Code Playgroud)

psy*_*cho 3

在毫无乐趣地尝试了手动和自动签名之后,我终于通过一些小的调整让它可以工作。

  1. 安装苹果证书时,选择临时钥匙串并提供密码。如果您不使用此功能,构建代理将等待用户输入以键入钥匙串密码,从而导致构建超时。
  2. 切换到手动签名。
  3. 在苹果证书安装任务和 Xcode 构建任务中,将“证书签名身份”设置为等于证书的全名,包括括号中的团队名称。

  • 对于 Xcode 构建任务来说,在签名身份参数(或 codeSignIdentitiy)中拥有 Apple 证书的完整名称非常重要,例如:`iPhone Distribution: TEAM_NAME (TEAM_ID)` (2认同)