如何在Azure DevOps Pipeline中配置XamariniOS任务构建适配iOS15的Xamarin应用
解决方案
要生成可在iOS 15设备正常运行的安装包,需要强制Azure DevOps构建流水线使用Xcode 13及以上版本执行Xamarin.iOS构建操作,操作步骤如下:
- 添加Xcode版本指定任务
在你现有的XamariniOS@2构建任务之前,插入官方UseXcode@1任务,指定需要的Xcode版本即可,修改后的流水线配置示例如下:
pool: vmImage: 'macOS-latest' # 新增的Xcode版本切换任务 - task: UseXcode@1 inputs: xcodeVersion: '13' # 可根据需求指定精确版本,如'13.4.1' # 原有的Xamarin.iOS构建任务 - task: XamariniOS@2 displayName: 'Build Xamarin.iOS solution OurSol.sln' inputs: solutionFile: '**/*OurSol.sln' configuration: ${{variables[format('{0}_{1}', parameters.environment, 'BuildConfiguration')]}} signingIdentity: 'iPhone Distribution' signingProvisioningProfileID: ${{variables[format('{0}_{1}', parameters.environment, 'ProvisioningProfileId')]}}
- 可选:手动切换Xcode版本
如果你不想使用官方预置任务,也可以通过命令行手动执行xcode-select切换版本,替换上面的UseXcode@1任务即可:
- script: sudo xcode-select -s /Applications/Xcode_13.app/Contents/Developer displayName: '手动切换Xcode版本至13'
- 版本验证(可选)
你可以在切换版本后添加命令行任务,确认当前使用的工具链版本是否符合预期:
- script: | xcodebuild -version echo "当前Xamarin.iOS版本:" ls /Library/Frameworks/Xamarin.iOS.framework/Versions/Current displayName: '验证构建工具版本'
注意:macOS-latest镜像已预装适配Xcode 13的Xamarin.iOS SDK,无需额外手动升级Xamarin组件,完成上述配置后重新运行流水线,输出的安装包即可正常在iOS 15及以上版本设备运行。
内容的提问来源于stack exchange,提问作者Pat Long - Munkii Yebee
相关产品推荐
相关产品推荐

