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

Azure Pipelines构建Xamarin.iOS报错:iOS SDK 14.0未安装

解决Azure Pipelines中macOS-10.15代理找不到iOS 14 SDK的问题

我之前也碰到过类似的坑——明明代理文档标注了包含iOS 14 SDK,但流水线跑起来就是报找不到。结合你已经做的尝试,给你几个针对性的解决方向:

1. 先确认代理上的实际SDK和Xcode状态

首先得搞清楚代理机器上到底有没有iOS 14 SDK,以及当前默认用的Xcode版本是不是包含它的那个。在流水线里加一个脚本步骤,输出关键信息:

- script: |
    # 列出所有可用的SDK
    xcodebuild -showsdks
    # 查看当前默认的Xcode路径
    xcode-select -p
    # 列出所有安装的Xcode版本
    ls -la /Applications/Xcode*
  displayName: 'Check Xcode and SDK details'

跑完这个步骤你就能明确:

  • 有没有iphonesimulator14.x或者iphoneos14.x的SDK
  • 当前默认Xcode路径对应的版本是不是iOS14对应的Xcode 12.x系列

2. 手动指定正确的Xcode版本

如果默认的Xcode版本不包含iOS14 SDK,你需要强制切换到对应的版本,有两种方式:

方式一:用Azure Pipelines官方Xcode任务

- task: Xcode@5
  inputs:
    actions: 'select'
    # 指定Xcode 12.x系列,对应iOS14 SDK
    xcodeVersion: '12.x'
  displayName: 'Set Xcode version to 12.x'

方式二:用脚本直接切换Xcode路径

- script: |
    # 替换成代理上实际存在的Xcode 12版本路径,比如Xcode_12.4.app
    sudo xcode-select -s /Applications/Xcode_12.4.app/Contents/Developer
    # 验证切换成功
    xcodebuild -showsdks
  displayName: 'Switch to Xcode 12.4 with iOS14 SDK'

3. 修正Demands配置

你之前加了Demands,但可能语法或者版本值不对。正确的写法要匹配代理的实际环境:

  • 要求Xcode版本为12.x:XcodeVersion -equals 12.x
  • 直接要求iOS14模拟器SDK:SDK -equals iphonesimulator14.0
    注意要和第一步查到的实际版本号完全匹配,别写错SDK名称(比如区分iphonesimulator和iphoneos)。

4. 清理Xcode派生数据(可选)

有时候旧缓存会干扰SDK检测,加个清理步骤试试:

- script: |
    rm -rf ~/Library/Developer/Xcode/DerivedData
  displayName: 'Clean Xcode Derived Data'

为啥会出现这个问题?

macOS代理通常会预装多个Xcode版本,默认激活的可能不是包含iOS14 SDK的那个。文档说"包含"只是指机器上有这个SDK,但默认环境没指向它,所以你的构建任务就找不到了。

内容的提问来源于stack exchange,提问作者jon.nicholssoftware.com

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.09 08:32:33