CocoaPods的工作過程

CocoaPods實現(xiàn)過程

  • 解析 Podfile 中的依賴斗搞,解決依賴關系力喷,核心部分

  • 下載依賴

  • 創(chuàng)建 Pods.xcodeproj 工程

    生成 Pods.xcodeproj 工程
    將依賴中的文件加入工程
    將依賴中的 Library 加入工程
    設置目標依賴(Target Dependencies)

  • 集成 workspace

生成pods.xcodeproj的詳細過程:

CocoaPods的工作主要是通過ProjectName.xcworkspace來組織的,在打開ProjectName.xcworkspace文件后眷昆,發(fā)現(xiàn)Xcode會多出一個Pods工程蜒秤。

1.庫文件引入及配置:
庫文件的引入主要由Pods工程中的Pods-ProjectName-frameworks.sh腳本負責,在每次編譯的時候亚斋,該腳本會幫你把預引入的所有三方庫文件打包的成ProjectName.a靜態(tài)庫文件作媚,放在我們原Xcode工程中Framework文件夾下,供工程使用帅刊。
如果Podfile使用了use_frameworks!,這是生成的是.framework的動態(tài)庫文件掂骏。引入方式也略有不同。

2.Resource文件:
Resource資源文件主要由Pods工程中的Pods-ProjectName-resources.sh腳本負責厚掷,在每次編譯的時候,該腳本會幫你將所有三方庫的Resource文件copy到目標目錄中级解。

3.依賴參數(shù)設置:
在Pods工程中的的每個庫文件都有一個相應的SDKName.xcconfig冒黑,在編譯時,CocoaPods就是通過這些文件來設置所有的依賴參數(shù)的勤哗,編譯后抡爹,在主工程的Pods文件夾下會生成兩個配置文件,Pods-ProjectName.debug.xcconfig芒划、Pods-ProjectName.release.xcconfig冬竟。

?波浪線**~ > ** 含義:從指定版本到倒數(shù)第二位版本號升1為止欧穴,比如 ‘~> 0.3.7’所指的版本區(qū)間為[0.3.7, 0.4.0),即>=版本0.3.7泵殴,<版本0.4.0

Pod install 和 Pod update的區(qū)別

這里面會從配置類的實例 config 中獲取一個 Installer 的實例涮帘,然后執(zhí)行 install! 方法,這里的 installer 有一個 update 屬性笑诅,而這也就是 pod install 和 update 之間最大的區(qū)別调缨,其中pod update會無視已有的 Podfile.lock 文件,重新對依賴進行分析吆你。

pod install 和 pod update 區(qū)別還是比較大的弦叶,每次在執(zhí)行 pod install 或者 update 時最后都會生成或者修改 Podfile.lock 文件,其中install并不會修改 Podfile.lock 中顯示指定的版本妇多,而update會會無視該文件的內(nèi)容伤哺,嘗試將所有的 pod 更新到最新版。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末者祖,一起剝皮案震驚了整個濱河市立莉,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌咸包,老刑警劉巖桃序,帶你破解...
    沈念sama閱讀 221,198評論 6 514
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異烂瘫,居然都是意外死亡媒熊,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,334評論 3 398
  • 文/潘曉璐 我一進店門坟比,熙熙樓的掌柜王于貴愁眉苦臉地迎上來芦鳍,“玉大人,你說我怎么就攤上這事葛账∧疲” “怎么了?”我有些...
    開封第一講書人閱讀 167,643評論 0 360
  • 文/不壞的土叔 我叫張陵籍琳,是天一觀的道長菲宴。 經(jīng)常有香客問我,道長趋急,這世上最難降的妖魔是什么喝峦? 我笑而不...
    開封第一講書人閱讀 59,495評論 1 296
  • 正文 為了忘掉前任,我火速辦了婚禮呜达,結(jié)果婚禮上谣蠢,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好眉踱,可當我...
    茶點故事閱讀 68,502評論 6 397
  • 文/花漫 我一把揭開白布挤忙。 她就那樣靜靜地躺著,像睡著了一般谈喳。 火紅的嫁衣襯著肌膚如雪册烈。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 52,156評論 1 308
  • 那天叁执,我揣著相機與錄音茄厘,去河邊找鬼。 笑死谈宛,一個胖子當著我的面吹牛次哈,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播吆录,決...
    沈念sama閱讀 40,743評論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼窑滞,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了恢筝?” 一聲冷哼從身側(cè)響起哀卫,我...
    開封第一講書人閱讀 39,659評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎撬槽,沒想到半個月后此改,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 46,200評論 1 319
  • 正文 獨居荒郊野嶺守林人離奇死亡侄柔,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 38,282評論 3 340
  • 正文 我和宋清朗相戀三年共啃,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片暂题。...
    茶點故事閱讀 40,424評論 1 352
  • 序言:一個原本活蹦亂跳的男人離奇死亡移剪,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出薪者,到底是詐尸還是另有隱情纵苛,我是刑警寧澤,帶...
    沈念sama閱讀 36,107評論 5 349
  • 正文 年R本政府宣布言津,位于F島的核電站攻人,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏悬槽。R本人自食惡果不足惜贝椿,卻給世界環(huán)境...
    茶點故事閱讀 41,789評論 3 333
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望陷谱。 院中可真熱鬧,春花似錦、人聲如沸烟逊。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,264評論 0 23
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽宪躯。三九已至乔宿,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間访雪,已是汗流浹背详瑞。 一陣腳步聲響...
    開封第一講書人閱讀 33,390評論 1 271
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留臣缀,地道東北人坝橡。 一個月前我還...
    沈念sama閱讀 48,798評論 3 376
  • 正文 我出身青樓,卻偏偏與公主長得像精置,于是被迫代替她去往敵國和親计寇。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 45,435評論 2 359

推薦閱讀更多精彩內(nèi)容

  • 項目組件化脂倦、平臺化是技術(shù)公司的共同目標番宁,越來越多的技術(shù)公司推崇使用pod管理第三方庫以及私有組件,一方面使項目架構(gòu)...
    swu_luo閱讀 21,855評論 0 39
  • 項目上線赖阻,終于又有時間研究些三方的東西了蝶押,在自己鉆牛角的時候,不覺間陷入了誤區(qū)火欧。在項目實踐過程中棋电,跟老大也學到了很...
    仁伯閱讀 25,713評論 32 112
  • 一. CocoaPods的介紹 什么是CocoaPods?CocoaPods是一個負責管理iOS項目中第三方開源庫...
    輝712閱讀 3,934評論 0 7
  • 他姓薛布隔,有著大俗的名字离陶,卻是個大雅的少年。 第一次遇見衅檀,不招刨,不是遇見,是看見哀军,他沉眶,是在電視上,都說...
    6ff0a33765aa閱讀 373評論 0 0
  • 橋看起來很老杉适,旁邊的石碑上寫著關于這座橋的歷史谎倔,但從頭讀到尾也沒說清楚到底是什么年代的,所以就姑且算做百年...
    angeloyang閱讀 158評論 0 0