1.cocoaPods 通過(guò)cocoaPods引入第三方類(lèi)庫(kù) cocoaPods是iOS開(kāi)發(fā)中最常用的類(lèi)庫(kù)管理工具,引用類(lèi)庫(kù)和更新類(lèi)庫(kù)都很方便,只需要一行簡(jiǎn)單的命令即可,統(tǒng)一管理第三方類(lèi)庫(kù),提高開(kāi)發(fā)效率。 實(shí)際開(kāi)發(fā)中潛在很多問(wèn)題。 - 安裝好正確版本的cocoaPods 折騰了半天到一天時(shí)間,費(fèi)盡千辛萬(wàn)苦排除各種錯(cuò)誤,你以為只要安裝好cocoaPods就好了?版本不對(duì),項(xiàng)目一樣編譯不過(guò),各種報(bào)錯(cuò)。通常只能卸載重新安裝正確版本的cocoaPods。 - 添加新的第三方類(lèi)庫(kù) 項(xiàng)目中需要使用新的第三方類(lèi)庫(kù),你小心翼翼的配置podfile文件,通過(guò)cocoaPods的命令直接安裝第三方類(lèi)庫(kù),你以為就萬(wàn)事大吉了?編譯一下,發(fā)現(xiàn)又是一堆的錯(cuò)誤,你開(kāi)始一步步的排查,想知道哪里出現(xiàn)錯(cuò)誤,查到最后才發(fā)現(xiàn)原來(lái)又是cocoaPods出問(wèn)題!不知道什么時(shí)候cocoaPods默默的升級(jí)到最新版本??!然后又得卸載cocoaPods然后重新安裝。 - 深度定制第三方類(lèi)庫(kù) 有時(shí)候,我們項(xiàng)目中只需要第三方類(lèi)庫(kù)的某個(gè)功能,并不需要所有的功能?;蛘咝枰疃榷ㄖ频谌筋?lèi)庫(kù),根據(jù)項(xiàng)目實(shí)現(xiàn)自己的需求時(shí),就不能使用cocoaPods來(lái)管理該類(lèi)庫(kù)。 - cocoaPods自身引起的其他問(wèn)題 cocoaPods本身就是一個(gè)第三方的管理工具,依賴(lài)一個(gè)不是非常靠譜的第三方的工具來(lái)管理另一些同樣不是非常第三方類(lèi)庫(kù)本身就不是一個(gè)特別靠譜的方案,并且隨著第三方類(lèi)庫(kù)的增加,潛在的問(wèn)題會(huì)成比例的上升。
2.復(fù)制所有源文件 直接把第三方類(lèi)庫(kù)的所有源文件復(fù)制到項(xiàng)目中,即把所有的.m和.h文件添加到項(xiàng)目中 復(fù)制所有源文件,這種方法簡(jiǎn)單粗暴,但是有時(shí)候我們可能只需要第三方類(lèi)庫(kù)的某些功能,有很多源文件其實(shí)并沒(méi)有作用,這時(shí)候其實(shí)沒(méi)必要復(fù)制所有源文件,只需要添加和我們需要的相關(guān)功能的源文件即可,這樣可以減少項(xiàng)目的大小。
3.靜態(tài)鏈接庫(kù) 將引用的靜態(tài)鏈接庫(kù)及頭文件復(fù)制到項(xiàng)目中 通過(guò)靜態(tài)鏈接庫(kù)添加的第三方類(lèi)庫(kù),由于添加的都是頭文件并不包含.m文件,所以在項(xiàng)目中只能調(diào)用第三方類(lèi)庫(kù)方法不能修改或重寫(xiě)方法。所以一般采用這種方法的大部分是第三方的SDK,例如QQ,微信,友盟的SDK都是采用這種方式添加到項(xiàng)目中。
4..xcodePRoj文件 直接將.xcodeproj文件拖到項(xiàng)目中 這種方法由于直接將.xcodeproj文件直接拖到項(xiàng)目中,會(huì)將第三方項(xiàng)目中的全部文件都引用進(jìn)來(lái),而且編譯項(xiàng)目時(shí)會(huì)同時(shí)編譯自己的項(xiàng)目和第三方類(lèi)庫(kù)的項(xiàng)目,編譯速度非常慢,所以不推薦使用。
通過(guò)該方法添加靜態(tài)庫(kù)見(jiàn): http://blog.csdn.net/sunyuanyang625/article/details/18790733
Xcode多工程聯(lián)編及工程依賴(lài) http://gcblog.github.io/2016/03/12/Xcode多工程聯(lián)編及工程依賴(lài)/
新聞熱點(diǎn)
疑難解答
圖片精選
網(wǎng)友關(guān)注