這一段時間公司項目要做一下重構(gòu)两蟀,將相關功能模塊兒都單獨分離出來统扳,我這邊負責把播放器的部分進行分離。公司這邊是用的一個開源第三方播放器逃沿,然后因為一些業(yè)務需求透揣,將一部分編解碼的部分進行了修改济炎。之前是直接使用相關源碼添加到項目里面,現(xiàn)在想著把這一部分分離開辐真。
最開始的思路是直接通過cocoapods進行私有庫源代碼管理须尚,但是因為播放器庫里面有相關c文件,經(jīng)過各方面嘗試仍然出錯(關于C編譯錯誤)侍咱,所以暫時換了個思路(后續(xù)繼續(xù)嘗試耐床,cocoapods在github上面有過討論,針對c文件的支持楔脯,暫時有問題【需要確認】)撩轰,直接將私有庫創(chuàng)建為framework,然后針對framework進行私有化管理,這樣導入的時候堪嫂,直接導入framework就可以直接使用偎箫,下面開始正式的話題。
1皆串、創(chuàng)建私有庫項目镜廉,將播放器相關的庫添加進去【!S拚健娇唯!注意,播放器相關依賴的有系統(tǒng)的framework寂玲,也有系統(tǒng)的library塔插,發(fā)現(xiàn)如果library添加之后如“l(fā)ibz”、“l(fā)ibbz2”庫等拓哟,會導致出現(xiàn)編譯不通過的情況想许,如圖1,但是再創(chuàng)建私有庫的時候断序,這些依賴的系統(tǒng)的framework流纹,或者library之類的都需要進行配置】,然后進行播放器庫的相關配置违诗,選擇device漱凝,進行編譯,生成framework诸迟。
2茸炒、創(chuàng)建framework的私有庫管理,按照正常私有庫的創(chuàng)建阵苇,不過不一樣的是壁公,里面只需要包含一個framework,而沒有bundle绅项,也不需要sourcefile之類的紊册,所以相關podspec的配置就不需要配置source_files、public_header_files快耿,只需要配置
'venderd_frameworks','frameworks','libraries',【基礎的配置如:sourc囊陡、development_target、homepage等還是需要配置的】润努,如圖2:
接下來的流程就是正常的私有庫的提交流程了关斜。