Azure DevOps 使用签名身份构建 xamarin iOS

Azure DevOps build xamarin iOS with signing identity

我有一个从 UI 编辑器迁移到 YAML 的构建管道。除了在新管道中设置 signingIdentity 和 signingProvisioningProfileID 外,此方法有效。

到目前为止,我的旧管道中有这 3 个工作:

我根据这些创建了 YAML:

- task: InstallAppleCertificate@2
  displayName: 'Install an Apple certificate'
  inputs:
    certSecureFile: 'Apple Distribution MoneyFox 2020.p12'
    certPwd: '$(P12password)'
    signingIdentity: ApplySigningIdentity

- task: InstallAppleProvisioningProfile@1
  displayName: 'Install an Apple provisioning profile'
  inputs:
    provProfileSecureFile: 'MoneyFox_Distribution_2020.mobileprovision'

- task: XamariniOS@2
  displayName: 'Build Xamarin.iOS '
  inputs:
    solutionFile: Src/MoneyFox.Ios/MoneyFox.iOS.csproj
    configuration: '$(BuildConfiguration)'
    signingIdentity: '$(Parameters.iosSigningIdentity)'
    signingProvisioningProfileID: '$(Parameters.provProfileUuid)'

在这里我注意到 InstallAppleProvisioningProfile 缺少引用名称,所以我再次添加它:

name: 'ApplyDistributionProfile'

但是当我现在构建时,出现错误:

iOS code signing key '$(Parameters.iosSigningIdentity)' not found in keychain.

我也尝试用 $(ApplySigningIdentity) 替换 '$(Parameters.iosSigningIdentity)' 但它也没有被替换。我怎么会 link 那些?还是构建过程的这一部分仅在 UI 管道中受支持?

我能够按照这里的建议解决它:

参数的正确变量是:

signingIdentity: $(APPLE_CERTIFICATE_SIGNING_IDENTITY)
signingProvisioningProfileID: $(APPLE_PROV_PROFILE_UUID)