CocoaPods是否已經準備進入黃金時段?為什么不只用git子模塊?等等。
到本文撰寫為止,Swift包管理器(SPM)還處在“早期設計和開發階段”【1】。它當前并不支持iOS,watch OS,或者Objective-C【2】【3】。在SPM開發的同時,CocoaPods也會持續開發以同時支持Swift和Objective-C。到SPM接近成熟的時候,我們將會評估CocoaPods和CocoaPods社區的最好的前進方向。
CocoaPods并不是用來下載代碼的。當它完成下載工作時,這只是它最小的一部分功能。
對CocoaPods的定位是(交叉)依賴解決方案,(語義上的)版本管理,以及自動“集成到Xcode中”。
最后,即使你僅把CocoaPods看成一個下載器,實際上也使用了其他的SCMs而不只是git。從另一個角度來看,CocoaPods是個黑盒,從本地或HTTP位置控制子版本、Mercurial以及zip/tarball壓縮。
簡單的說,我們非常感謝這份好意,本項目(作為一個實體)不接受經濟捐贈。我們有一片關于這個的博客帖子。
請先看第二點(2),然后除非你告訴我們缺失了什么功能以及它為什么很重要,否則這種情況不可能存在。我們沒有擦去Twitter以查看工作,因此請做一個 標記,或者最好是以“拉取請求”的方式
CocoaPods通常已經做了依賴解決,但在0.35版本之前都缺少自動處理沖突的解決方案。現在,CocoaPods已經能夠解決所有可以解決的沖突。
這等于在說“我們不應該有汽車”,因為它們讓我們懶惰,而我們忘記了走路/跑步。或者“我們不該使用IDEs”,因為它們讓我們變成差勁的程序員,不在編輯器中寫代碼,并且記不得語法。此外,這個原因適用于獲取代碼(如,git)的根本意義,以及對于是否應該有的討論。
然而值得討論的東西是,要讓用戶負責任。非常諷刺的是,CocoaPods最初的開發者已經被說服了,也認為使用大量的依賴不是好主意。關于如何解決這個問題的切實可行的建議,你可以閱讀Manfred Stienstra寫的這篇博客帖子。
從Xcode 4開始,蘋果正是為了這個目的推出了工作空間。
從此以后,他們也在每個xcodePRoj文檔中添加了工作空間文件,這導致人們認為工作空間只是用戶數據。這顯然錯了,如果你曾經這么認為,那么你不應該再忽略工作空間文檔了。
注意CocoaPods自身并不需要使用工作空間。如果你更喜歡使用子工程,你也可以這么做,只要運行pod install –no-integrat,這將會讓你可以按照你看著爽的方式將pod庫整合到你的工程中。
你不是必須這么做,macOS自帶了Ruby 2.0.0或者更新的版本,預裝在/usr/bin/ruby目錄下,這是我們的基礎,我們必須在這個盒子里工作。
原文鏈接:《F.A.Q》
新聞熱點
疑難解答