首页 > 解决方案 > 无法在 DevOps 中运行 xCode 任务

问题描述

我编辑了 yaml 以反映下面的评论。

当我尝试运行我的管道并开始运行 xCode 任务时,出现以下错误:

iOS 部署目标“IPHONEOS_DEPLOYMENT_TARGET”设置为 8.0,但支持的部署目标版本范围为 9.0 到 14.4.99。(在项目“Pods”的目标“GoogleAppMeasurement”中)

我的管道 yaml 文件看起来像这样......

variables:
  scheme: "App"
  sdk: "iphoneos"
  configuration: "Release"

pool:
  vmImage: 'macOS-10.15' #'macOS-latest'


- task: InstallAppleCertificate@2
  inputs:
    certSecureFile: 'Certificates.p12'
    certPwd: 'mypassword'
    keychain: 'temp'
    deleteCert: true

- task: InstallAppleProvisioningProfile@1
  inputs:
    provisioningProfileLocation: 'secureFiles' 
    provProfileSecureFile: Distribution_Profile.mobileprovision
    removeProfile: true

- script: |
    sudo gem install cocoapods
  displayName: 'Install Cocoa Pods'

- script: |
    pod repo update
  displayName: 'Update Cocoa Pods'

- script: |
    ionic cordova build ios --prod --buildFlag="-UseModernBuildSystem=0"
  displayName: 'Build Ionic iOS App'

- task: Xcode@5
  inputs:
    actions: 'build'
    scheme: 'MyProject'
    configuration: '$(configuration)'
    sdk: '$(sdk)'
    xcWorkspacePath: '$(Build.SourcesDirectory)/platforms/ios/TechPro.xcworkspace'
    xcodeVersion: 'default'
    packageApp: true
    signingOption: manual
    signingIdentity: '$(APPLE_CERTIFICATE_SIGNING_IDENTITY)'
    provisioningProfileUuid: '$(APPLE_PROV_PROFILE_UUID)'
    teamId: 'myteamid'
    exportTeamId: 'myteamid'
    exportMethod: 'ad-hoc'
    exportOptions: 'specify'
    exportOptionsPlist: '$(Build.SourcesDirectory)/platforms/ios/MyProject/MyProject-Info.plist'

我修改了 podfile 以添加以下内容...

post_install do |installer|
    installer.pods_project.targets.each do |target|
        target.build_configurations.each do |config|
            config.build_settings['CODE_SIGNING_REQUIRED'] = "NO"
            config.build_settings['CODE_SIGNING_ALLOWED'] = "NO"
        end
    end
end

标签: xcodeazure-devopsazure-pipelines-release-pipeline

解决方案


Xcode 应用程序必须经过签名和配置才能在设备上运行或发布到 App Store。看起来您的 ios 应用程序未成功签名。

这种争论CODE_SIGNING_ALLOWED=No将跳过代码签名。看到这个线程。您还可以查看 Xcode 任务的任务日志,以查看您的应用是否已成功签名。

您可以尝试删除CODE_SIGNING_ALLOWED=No -CODE_SIGNING_REQUIRED=NOXcode 任务中的参数并检查它是否可以工作。


推荐阅读