ios - 无法加载证书,Xcode 构建无法安装证书(VSTS/Azure DevOps,YAML Pipeline)
问题描述
我在 Azure DevOps 中使用 YAML 管道来构建 iOS 应用程序。
我的 YAML 如下所示:
# Xcode
# Build, test, and archive an Xcode workspace on macOS.
# Add steps that install certificates, test, sign, and distribute the app, save build artifacts, and more:
# https://docs.microsoft.com/vsts/pipelines/languages/xcode
pool:
vmImage: 'macOS 10.13'
steps:
- task: InstallAppleCertificate@2
displayName: 'Install an Apple certificate'
inputs:
certSecureFile: 'FILE_ID'
certPwd: '$(P12password)'
- task: InstallAppleProvisioningProfile@1
displayName: 'Install an Apple provisioning profile'
inputs:
provProfileSecureFile: 'FILE_ID'
- task: CocoaPods@0
displayName: 'pod install using the CocoaPods task with defaults'
- task: Xcode@5
displayName: 'Xcode build'
inputs:
xcWorkspacePath: 'MyApp.xcworkspace'
scheme: 'MyApp'
xcodeVersion: 'Default'
signingOption: manual
signingIdentity: '$(APPLE_CERTIFICATE_SIGNING_IDENTITY)'
provisioningProfileUuid: '$(APPLE_PROV_PROFILE_UUID)'
我在安装 Apple 证书步骤中遇到错误:
2018-10-02T20:08:23.4496940Z ##[section]Starting: Install an Apple certificate
2018-10-02T20:08:23.4786520Z ==============================================================================
2018-10-02T20:08:23.4786680Z Task : Install Apple Certificate
2018-10-02T20:08:23.4786800Z Description : Install an Apple certificate required to build on a macOS agent
2018-10-02T20:08:23.4786940Z Version : 2.137.0
2018-10-02T20:08:23.4787050Z Author : Microsoft Corporation
2018-10-02T20:08:23.4787160Z Help : [More Information](https://go.microsoft.com/fwlink/?LinkID=862067)
2018-10-02T20:08:23.4787280Z ==============================================================================
2018-10-02T20:08:24.9657760Z [command]/usr/local/bin/openssl pkcs12 -in /Users/vsts/agent/2.140.2/work/_temp/PWEKQ6YCZA.p12 -nokeys -passin pass:*** | /usr/local/bin/openssl x509 -noout -fingerprint
2018-10-02T20:08:25.0196330Z 140735606010824:error:0D0680A8:asn1 encoding routines:ASN1_CHECK_TLEN:wrong tag:tasn_dec.c:1220:
2018-10-02T20:08:25.0197000Z 140735606010824:error:0D07803A:asn1 encoding routines:ASN1_ITEM_EX_D2I:nested asn1 error:tasn_dec.c:386:Type=PKCS12
2018-10-02T20:08:25.0332040Z unable to load certificate
2018-10-02T20:08:25.0332600Z 140735606010824:error:0906D06C:PEM routines:PEM_read_bio:no start line:pem_lib.c:697:Expecting: TRUSTED CERTIFICATE
2018-10-02T20:08:25.0437120Z ##[error]Error: /usr/local/bin/openssl failed with return code: 1
2018-10-02T20:08:25.0514080Z ##[section]Finishing: Install an Apple certificate
知道这里有什么问题吗?
我还尝试通过 UI 在 Azure DevOps 中设置构建管道,但得到了相同的结果。
解决方案
对于它的价值,我带着这个确切的错误来到这里,但通过确保证书密码没有特殊字符来解决它。在构建运行时,似乎存在转义密码(尤其是 £ 符号)的问题。
推荐阅读
- python - 缓存超时时如何刷新flask_caching?
- mysql - 删除表项的重复项
- unity3d - 如何使用光线投射创建反射衬里渲染器?
- python - 在 Python 3.7 中处理 JSON
- entity-framework - 英孚为孙辈选择祖父母
- postgresql - Mybatis PostgreSQL 对存在的列抛出错误“列不存在”并且其值是自动生成的
- javascript - 具有两位数的计数器应用程序中的递减/递增逻辑
- mysql - 一般 InnoDB UPDATE 是否会锁定整个表并阻止传入的特定 UPDATE?
- r - 包更新后的闪亮错误:未知的“组合”类型
- python - discord.py:试图等待作者回复并回答