探究cocopods原理

探究cocoapods原理之前,我們可以先了解一下一個Xcode項目的構(gòu)成.

一個project 其實就是一個文件夾,擴展名使用xcodeproj的文件夾,project文件夾內(nèi)部包含一個很重要的project.pbxproj文件,這個文件是記錄追蹤project文件夾內(nèi)文件的索引文件.當(dāng)然還包含有一個project.xcworksapce文件.

不過最重要的還是project.pbxproj文件,我們在項目中看到的Target,也是由這個文件生成的一個虛擬的目錄.詳情可以參考pbxproj file format

-個worksapce其實也是一個文件夾,擴展名使用xcworkspace.workspace文件夾內(nèi)部包含一個contents.xcworkspacedata文件,contents文件其實是一個xml文件


contents.xcworkspacedata

這個xml文件中指定了與workspace關(guān)聯(lián)的project文件.

cocopods就是創(chuàng)建了一個pods.xcodeproj的project,然后通過修改project.pbxproj文件將每個pod庫(如果這個庫沒有可編譯的文件則不會創(chuàng)建Target)建成一個target,將這些target全部關(guān)聯(lián)到pods.xcodeproj上,之后創(chuàng)建一個workspace將你本來的project和podsproject關(guān)聯(lián)起來.之后cocopods將所有的pod打包成一個靜態(tài)庫或動態(tài)庫,然后創(chuàng)建一個名為Pods-xxx的庫,這個庫會依賴你所有的pod庫.然后將Pods-xxx打包成一個靜態(tài)庫或動態(tài)庫,最后將這個新的庫鏈接到本來項目的Target中.之后修改pbxproj文件并保存.

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容