[英]Cocoa Touch Framework Swift with embed libraries
我正在開發一套包含通用模塊的應用程序。 我想將通用模塊存儲在 Cocoa Touch Framework 中。 這個框架也可能包含庫和 Alamofire 和 SwiftyJSON,因為它們在模塊中被廣泛使用。 目前,盡管在互聯網上閱讀了許多教程、文章等,但我無法得到穩定的解決方案。
你絕對可以做到這一點。 您目前有三個選項用於設置開發和兩個部署選項。
Git 子模塊
Git 子模塊是將其他庫引入項目存儲庫以嵌入項目的好方法。 您需要做的就是添加子模塊,然后將該庫的 Xcode 項目拖到您的 Xcode 項目中,使其嵌套在您的項目中。 然后您需要將框架作為鏈接目標添加到您的庫中。
迦太基
Carthage還通過--use-submodules
標志支持 git 子--use-submodules
。 所有你需要做的是安裝通過自制迦太基,然后創建一個Cartfile ,增加了Alamofire和SwiftyJSON使用下面的命令。
carthage update --use-submodules
可可豆
CocoaPods是一個依賴管理系統,它允許您輕松地引入和部署給定庫的不同版本。 由於Alamofire和SwiftyJSON 都支持 CocoaPods,您可以創建一個Podfile ,然后運行pod install
將 Pod 拉入您的庫中。 我不會推薦這個,因為這是一個非常重的方法。 相反,我建議使用Git Submodules
或Carthage
進行開發。
部署是一個非常不同的情況。 目前,在 OSS 社區(包括 Alamofire 和 Carthage)中廣泛使用的 iOS 和 OSX 有兩種相當健壯的部署機制。
迦太基
如果您使用 Carthage 導入了 git 子模塊,那么您可能已經完全支持 Carthage 部署。 這取決於您是否使用Cartfile.private文件來拉入您的依賴項。 鑒於您正在嘗試做的事情,我懷疑您是否會使用私有 Cartfile 而會使用公共 Cartfile。 這意味着您應該開箱即用。 驚人的!
可可豆
CocoaPods 與 Carthage 有很大不同,並且比 Carthage 有一些很大的優勢,但要付出代價。 您需要創建一個 podspec 文件並將其推送到公共或私有規范存儲庫中。 然后任何人都可以使用 Podfile 將您的 pod 拉入他們的項目。
如您所見,這里有很多選擇。 我強烈建議使用 Carthage 來拉入你的 git 子模塊,然后支持 Carthage 和 CocoaPods 進行部署。 我知道這需要付出很多努力,因此您可能希望專注於其中一個。 抱歉提供了大量的鏈接和信息,但您的問題讓我相信您將從所有這些不同的來源中受益匪淺。
希望這有助於您成為依賴開發和部署忍者。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.