我已经为我的 Xamarin iOS 应用程序创建了 YAML 构建配置,并提供了证书文件( p12 和 mobileprovision ),但是当管道运行时,它在应用程序的构建步骤中失败。证书安装通过。
Note具有相同证书文件和密码的构建在应用程序中心上运行良好
在 DevOps 中,我收到以下错误:
/Library/Frameworks/Mono.framework/External/xbuild/Xamarin/iOS/Xamarin.iOS.Common.targets(646,3):
错误:在钥匙串中找不到有效的 iOS 代码签名密钥。你需要
请求代码设计证书https://developer.apple.com https://developer.apple.com。
[/Users/vsts/agent/2.150.3/work/1/s/AwesomeApp/AwesomeApp.iOS/AwesomeApp.iOS.csproj]
以下是我在 Azure DevOps 中的 yaml:
- job: iOS
pool:
vmImage: 'macos-latest'
steps:
- script: sudo $AGENT_HOMEDIRECTORY/scripts/select-xamarin-sdk.sh 5_12_0
displayName: 'Select the Xamarin SDK version'
enabled: false
- task: NuGetToolInstaller@0
- task: NuGetCommand@2
inputs:
restoreSolution: '**/*.sln'
- task: InstallAppleProvisioningProfile@1
inputs:
provisioningProfileLocation: 'secureFiles'
provProfileSecureFile: 'iOS_Distribution.mobileprovision'
- task: InstallAppleCertificate@2
inputs:
certSecureFile: 'ios_distribution.p12'
certPwd: '$(p12-password)'
keychain: 'temp'
- task: XamariniOS@2
inputs:
solutionFile: '**/*.sln'
configuration: 'Ad-Hoc'
buildForSimulator: false
packageApp: false
我在 yaml 上尝试了各种不同的选项,但仍然收到错误。
如果您不这样设置属性:
- task: InstallAppleCertificate@2
inputs:
certSecureFile: 'ios_distribution.p12'
certPwd: '$(P12password)'
keychain: 'temp'
- task: InstallAppleProvisioningProfile@1
inputs:
provisioningProfileLocation: 'secureFiles'
provProfileSecureFile: 'iOS_Distribution.mobileprovision'
- task: XamariniOS@2
displayName: Build iOS App
inputs:
solutionFile: '$(SolutionFile)'
configuration: '$(BuildConfiguration)'
buildForSimulator: false
packageApp: true
# This value is automatically set by the InstallAppleCertificate task
signingIdentity: $(APPLE_CERTIFICATE_SIGNING_IDENTITY)
# This value is automatically set by the InstallAppleProvisioningProfile task
signingProvisioningProfileID: $(APPLE_PROV_PROFILE_UUID)
这里的关键是signingIdentity
and signingProvisioningProfileID
on the XamariniOS@2
task.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)