[英]Build os x tool as part of iOS project without breaking xcodebuild archive?
每次構建iOS項目時,我都希望它也構建幾個OS X項目。 這些是命令行工具。 我不在乎它們是否包含在存檔中,我只是想確保它們每次都能正確編譯。
它們只是用於訪問相同庫的特定任務的命令行工具。 過去,我很少頻繁地構建它們,因此它們會遭受代碼腐爛的困擾。 每當我構建iOS項目時,我都想構建它們,即使我只是在Xcode中構建。
為此,我嘗試將項目拖到我的iOS項目中並將其設置為依賴項。
這在IDE中工作正常,但是當我嘗試通過xcodebuild進行構建時:
xcrun xcodebuild -sdk iphoneos -workspace AppName.xcworkspace \
-scheme AppName archive
我收到一個看起來像這樣的錯誤:
=== BUILD TARGET dslfi OF PROJECT dslfi WITH CONFIGURATION Release ===
Check dependencies
target specifies product type 'com.apple.product-type.tool', but there's no such
product type for the 'iphoneos' platform
** ARCHIVE FAILED **
The following build commands failed:
Check dependencies
(1 failure)
在我仍然滿意xcodebuild
有什么方法可以繼續構建這些嗎?
3.1轉到計划設置的匯總目標並添加其他目標: 您可以在其中指定要對特定目標執行的操作
3.2您可以選擇匯總目標並進行構建設置,並添加其他目標作為該目標的依賴項。
選項3.1似乎是您需要的選項:您可以添加任意數量的目標。 您可以指定另一個運行目標。 因此,您將獲得以下內容:
targets:
target 1 - iOS app
target 2 - other app
target 3 - other app
target 4 - aggregate target
scheme configuration for target 4
build section:
target 1
target 2
target 3
run section:
executable: target 1 (iOS app)
完成此操作后,您可以使用您的方案來構建xcodebuild -scheme your_scheme [...other options...] archive
UPDATE
您可以跳過創建聚合目標。 您可以直接創建新方案並創建所需的配置,而無需涉及聚合目標。
更新2
確保共享您的方案,以便能夠將其保留在源代碼管理中。
更新3
如果您的目標不直接相互依賴(據我所知),則不帶聚合目標的選項是實現此目標的更可取的方法。 這是計划的主要目的。
方案是設置的集合,這些設置指定啟動目標指定的產品時要構建的目標,要使用的構建配置以及要使用的可執行環境。 當您打開一個現有項目(或創建一個新項目)時,Xcode會自動為每個目標創建一個方案。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.