You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Azure DevOps中XCode@5多团队多Bundle ID构建iOS应用报错求助

迁移React Native iOS应用至Azure DevOps的多环境/多Bundle ID构建问题

背景

  • App Center将于2025年3月31日停止服务,正在将React Native跨平台iOS应用的构建流程迁移至Azure DevOps
  • 核心需求:按开发/测试/生产不同环境构建,对应不同Bundle ID(如com.my-app-1.app、com.my-app-2.app)、Apple Developer团队(team-A对应前者,team-B对应后者)、证书(开发环境用iOS Development证书,测试/生产环境用iOS Distribution证书)
  • Android端构建流程正常,可根据Bundle ID正确使用密钥库签名,并推送至Firebase或Play Store对应位置

iOS构建遇到的问题

项目默认配置为team-A及com.my-app-1.app,尝试在Azure DevOps的XCode@5任务中通过args参数覆盖DEVELOPMENT_TEAM和PRODUCT_BUNDLE_IDENTIFIER,但出现两类错误:

情况1:通过args参数覆盖构建参数时的错误

构建team-A的my-app-1的YAML配置:

- task: Xcode@5
  inputs:
    actions: "archive"
    scheme: "my-app-1"
    sdk: "iphoneos"
    configuration: "Release"
    xcWorkspacePath: "iOS/ios/my-app-1.xcworkspace"
    signingOption: "manual"
    signingIdentity: "$(APPLE_CERTIFICATE_SIGNING_IDENTITY)"
    provisioningProfileUuid: "$(DevelopmentProfile.provisioningProfileUuid)"
    args: >
      DEVELOPMENT_TEAM=team-A
      PRODUCT_BUNDLE_IDENTIFIER=com.my-app-1.app

构建team-B的my-app-2的YAML配置:

- task: Xcode@5
  inputs:
    actions: "archive"
    scheme: "my-app-2"
    sdk: "iphoneos"
    configuration: "Release"
    xcWorkspacePath: "iOS/ios/my-app-1.xcworkspace"
    signingOption: "manual"
    signingIdentity: "$(APPLE_CERTIFICATE_SIGNING_IDENTITY)"
    provisioningProfileUuid: "$(DevelopmentProfile.provisioningProfileUuid)"
    args: >
      DEVELOPMENT_TEAM=team-B
      PRODUCT_BUNDLE_IDENTIFIER=com.my-app-2.app

执行构建时报错:

error: XXX does not support provisioning profiles. XXX does not support provisioning profiles, but provisioning profile prov profile name has been manually specified. Set the provisioning profile value to "Automatic" in the build settings editor. (in target 'XXX')

将signingOption设为Automatic也无法解决,因为需要指定特定的证书和配置文件。

情况2:不覆盖参数时构建team-B应用的错误

默认配置可正常构建team-A应用,但构建team-B时出现:

/Users/runner/work/1/s/ios/BITS.xcodeproj: error: Provisioning profile "XXX" has app ID "com.my-app-2.com", which does not match the bundle ID "com.my-app-1.com". (in target 'my-app-1' from project 'MY-APP-1')
/Users/runner/work/1/s/ios/BITS.xcodeproj: error: Provisioning profile "XXX" belongs to team "team-B", which does not match the selected team "team-B". (in target 'my-app-1' from project 'MY-APP-1')

诉求

此前在App Center中无此问题,不想为每个Bundle ID单独创建XCode项目,寻求可行的解决方案。

内容的提问来源于stack exchange,提问作者Virginie Slagmolen

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.17 19:25:13