Azure 管道 CI:未找到“com.my.app”的配置文件

问题描述 投票:0回答:1

我正在尝试使用 Azure 管道进行 CI/CD,但无法构建我的应用程序。我在 Xcode 中设置了自动代码签名。我还上传了所有需要的安全文件,包括证书和配置文件。

pool: vmImage: 'macos-13'

- task: InstallAppleCertificate@2
  inputs:
    certSecureFile: 'development_cert.p12'
    certPwd: $(cert_password)

- task: InstallAppleProvisioningProfile@1
  inputs:
    provisioningProfileLocation: 'secureFiles'
    provProfileSecureFile: 'Developer_Profile.mobileprovision'

在执行管道脚本时,我通过命令确保证书和配置文件存在:

security find-identity -p codesigning -v
ls -lGa ~/Library/MobileDevice/Provisioning\ Profiles/

但是构建脚本失败了:

- script: |
    set -e
    xcodebuild build \
              -workspace MyApp.xcworkspace \
              -scheme 'MyApp (QA)' \
              -configuration 'Release (QA)' \
              -destination 'generic/platform=iOS'
  displayName: 'Xcode Build'

Error: MyApp.xcodeproj: error: No profiles for 'com.my.app' were found: Xcode couldn't find any iOS App Development provisioning profiles matching 'com.my.app'. Automatic signing is disabled and unable to generate a profile. To enable automatic signing, pass -allowProvisioningUpdates to xcodebuild. (in target 'MyTarget' from project 'MyApp')

那么,问题是为什么 azure pipeline 无法获取上传的配置文件以及如何解决这个问题?

相同的脚本在我的本地 Mac 上运行正常。

当我传递相同的证书和配置文件作为参数时

CODE_SIGN_STYLE=Manual \
CODE_SIGN_IDENTITY='iPhone Distribution: My App Inc. (XXYYYYZZZZ)' \
PROVISIONING_PROFILE_SPECIFIER="My Developer Profile" \

脚本可以识别配置文件。 (但是由于其他原因失败了)

ios continuous-integration azure-pipelines xcodebuild
1个回答
0
投票

InstallAppleCertificate@2
InstallAppleProvisioningProfile@1
任务之后,您可以使用内置
Xcode@5
任务来运行 Xcode 构建步骤。

steps:
- task: InstallAppleCertificate@2
  displayName: 'Install Apple certificate'
  inputs:
    certSecureFile: 'development_cert.p12'
    certPwd: '$(cert_password)'

- task: InstallAppleProvisioningProfile@1
  displayName: 'Install Apple provisioning profile'
  inputs:
    provisioningProfileLocation: 'secureFiles'
    provProfileSecureFile: 'Developer_Profile.mobileprovision'

- task: Xcode@5
  inputs:
    actions: 'build'
    configuration: 'Release (QA)'
    xcWorkspacePath: 'MyApp.xcworkspace'
    scheme: 'MyApp (QA)'
    packageApp: false
    signingOption: 'manual'
    signingIdentity: '$(APPLE_CERTIFICATE_SIGNING_IDENTITY)'
    provisioningProfileUuid: '$(APPLE_PROV_PROFILE_UUID)'
    destinationPlatformOption: 'iOS'

变量

APPLE_CERTIFICATE_SIGNING_IDENTITY
APPLE_PROV_PROFILE_UUID
InstallAppleCertificate@2
InstallAppleProvisioningProfile@1
任务自动设置,以便后续任务可以使用它们安装的证书和配置文件。

有关更多详细信息,请参阅“签署您的 Apple iOS、macOS、tvOS 或 watchOS 应用程序”。


© www.soinside.com 2019 - 2024. All rights reserved.