如何在Azure DevOps流水线的CmdLine@2任务中指定Xcode版本
在CmdLine@2任务中指定Xcode版本的实现方法
你可以通过macOS自带的xcode-select工具在脚本中切换激活的Xcode版本,Azure官方提供的macOS代理会将不同版本的Xcode安装在/Applications/Xcode_<版本号>.app路径下,修改后的YAML配置如下:
- task: CmdLine@2 displayName: 'Xcode Build' inputs: script: | echo "切换到Xcode 12.5版本" sudo xcode-select -s /Applications/Xcode_12.5.app/Contents/Developer # 可选:验证当前Xcode版本 xcodebuild -version echo "Build iOS app" cd $(Build.SourcesDirectory) /usr/bin/xcodebuild -workspace '$(workspace)' -scheme '$(schemeName)' build -allowProvisioningUpdates CODE_SIGN_STYLE=Manual DEVELOPMENT_TEAM='$(developmentTeam)' CODE_SIGN_IDENTITY='$(signingIdentity)' APP_PROFILE='$(***Profile)' EXTENSION_PROFILE_FW='$(***FavWidProvProfile)' EXTENSION_PROFILE_NCW='$(***NCWidProvProfile)'
注意事项
- 确保你使用的Azure DevOps代理镜像预装了Xcode 12.5,
macOS-11及以上版本的官方镜像默认包含Xcode 12.5,如果你使用的是更旧的macOS镜像需要先升级镜像版本 - 切换Xcode版本需要sudo权限,Azure DevOps macOS代理的运行用户默认配置了免密sudo权限,无需额外配置
- 如果需要使用其他版本的Xcode,只需将路径中的版本号替换为对应版本即可,比如Xcode 14.2对应路径为
/Applications/Xcode_14.2.app/Contents/Developer
内容的提问来源于stack exchange,提问作者Antonio K
相关产品推荐
相关产品推荐

