我想使用 Azure devops 管道來構建包含 iphone 應用程式和 watchos 應用程式的 ios 包。
有一個包含 3 個應用程式的作業區(一個用于手機,兩個用于手表)
我的作業區:
- 我的手機應用程式
- 我的手表應用程式
- MyWatchApp 擴展
我使用以下XCode 任務
- task: Xcode@5
inputs:
actions: 'build'
scheme: 'MyApp'
sdk: 'iphoneos'
configuration: 'Release'
xcWorkspacePath: '$(system.defaultworkingdirectory)/MyWorkspace.xcworkspace'
xcodeVersion: '12'
此任務啟動 xcodebuild
xcodebuild -sdk iphoneos -configuration Release -workspace /Users/runner/work/1/s/MyApp/MyWorkspace.xcworkspace -scheme MyApp build
它失敗并出現以下錯誤:
錯誤:無法決議平臺“iphoneos”的產品型別“com.apple.product-type.application.watchapp2”(在專案“MyApp”的目標“MyWatchApp”中)
錯誤:無法決議平臺“iphoneos”的產品型別“com.apple.product-type.watchkit2-extension”(在專案“MyApp”的目標“MyWatchApp Extension”中)
我需要指定什么樣的 SDK 來構建它?
uj5u.com熱心網友回復:
我想使用 azure 管道 xcode 任務運行的命令如下:
xcodebuild -configuration Release -workspace /Users/runner/work/1/s/MyApp/MyWorkspace.xcworkspace -scheme MyApp build
沒有sdk規范
-SDK iphoneos
這樣,每個組件的構建都將遵循專案默認值,手機應用程式將使用 iphoneos SDK 構建,手表應用程式將使用 watchos SDK 構建。
不幸的是,如果我從 xcode 任務中洗掉 sdk 規范
- task: Xcode@5
inputs:
actions: 'build'
scheme: 'MyApp'
configuration: 'Release'
xcWorkspacePath: '$(system.defaultworkingdirectory)/MyWorkspace.xcworkspace'
xcodeVersion: '12'
然后它使用自己的默認值
-sdk $(SDK)
它會導致錯誤,因為 $(SDK) 未定義。
這個用例的正確(但很奇怪)的語法是
- task: Xcode@5
inputs:
actions: 'build'
scheme: 'MyApp'
sdk:
configuration: 'Release'
xcWorkspacePath: '$(system.defaultworkingdirectory)/MyWorkspace.xcworkspace'
xcodeVersion: '12'
將 sdk 規范留空,沒有任何值。
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/369655.html
標籤:ios 代码 azure-devops 天蓝色管道 编译
