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

如何在Azure DevOps中使用Xcode 15构建.NET 8 MAUI iOS应用?

解决Azure DevOps构建.NET 8 MAUI iOS应用时Xcode版本不足的问题

你的报错核心原因是:macos-latest镜像当前默认预装的Xcode版本未包含iOS 17 SDK,而.NET 8 MAUI的UIKit绑定依赖了iOS 17引入的UIKit.UISceneSessionActivationRequest类型,必须用Xcode 15及以上版本才能构建。

下面是三种可行的解决办法:

1. 切换到预装Xcode 15的虚拟机镜像

放弃macos-latest,改用明确预装Xcode 15的Azure DevOps macOS镜像,比如macos-14(Sonoma)或macos-13(Ventura)。修改流水线的pool配置:

pool:
  vmImage: 'macos-14' # macos-13同样预装Xcode15,按需选择

2. 在流水线中手动安装并配置Xcode 15

如果必须使用macos-latest,可以添加任务手动安装Xcode 15,并设置为默认版本:

steps:
# 安装Xcode 15
- task: InstallAppleXcode@1
  inputs:
    xcodeVersion: '15.2' # 可指定具体版本,比如15.0、15.3
    selectXcodeVersion: 'specifyPath'
    xcodePath: '/Applications/Xcode_15.2.app'

# 设置Xcode 15为默认版本
- script: sudo xcode-select -s /Applications/Xcode_15.2.app/Contents/Developer
  displayName: 'Set default Xcode to 15.2'

3. 临时降低项目的iOS目标版本(仅应急用)

如果暂时无法升级Xcode,可以修改项目配置,限制使用iOS 16.4及以下的API,但这需要你移除代码中依赖iOS 17+的部分。在项目的.csproj文件中修改:

<PropertyGroup>
  <TargetFramework>net8.0-ios</TargetFramework>
  <TargetPlatformMinVersion>16.4</TargetPlatformMinVersion>
  <SupportedOSPlatformVersion>16.4</SupportedOSPlatformVersion>
</PropertyGroup>

⚠️ 注意:这只是临时 workaround,长期来看必须升级Xcode才能兼容.NET MAUI的最新特性和iOS 17+的API。

内容的提问来源于stack exchange,提问作者C. Tewalt

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.04 07:40:16