2017-05-27 145 views
1

問題: 有沒有辦法用SPM創建一個類似於可可豆莢中的開發包的「開發包」,它可以讓我修改依賴包的實際源項目(本地路徑)?Swift Package Manager For Development

上下文: 我正在研究一個需要分解爲三個獨立項目的項目。其中一個項目由另外兩個項目共享(在這種情況下,數據模型由服務器和客戶端共享)。對於客戶端來說,因爲它使用uikit,所以我有一個開發cocoa pod設置,它允許我在客戶端工作區內工作,編輯數據模型項目,然後立即編譯和運行。然後,我對數據模型的更改將保存在數據模型項目中。

但是,對於服務器,因爲它完全使用SPM構建,所以如果我想對數據模型項目(我想要反映給客戶端)進行編輯,那麼我現在必須在數據中創建它們模型項目,然後用新的次版本號重新標記它,清理服務器項目並重建。我很樂意像我用可可豆莢一樣設置它。

如果我不能這樣做,是否至少有一種方法可以告訴SPM只更新我的一個依賴項到一個新的版本號(或Package.swift中指定的最大版本,即次版本.4,所以如果我從.401到.402重新更新)?我原以爲我可以在Package.pins中這樣做,但這似乎不起作用。不知道爲什麼它不是一個隱藏的文件,如果編輯它不影響實際的變化。

+0

SPM 4讓你用'git branches'而不是標籤來標記依賴關係 – eonist

回答

2

你打電話概念「開發包」斯威夫特包管理器叫做Editable Package

對於那些處於編輯狀態,迅速構建將始終使用精確的來源在這個目錄中的包構建,無論其狀態,git存儲庫狀態,標記或依賴關係解析所需的標記。換句話說,這隻會建立在現有資源的基礎上。