2018-06-11 cocopods打包第三方為靜態(tài)庫framework 并使用

因為公司要提供sdk對外用。 第三方比較多二十來個 要求將第三方也打包進framework
1:為什么選擇cocopods的方式來打包靜態(tài)庫?
首先因為當前項目中的第三方是用cocopods來管理的, 這時候有兩個問題 1:打靜態(tài)庫能否將cocopods中的第三方打進去 2:如果能打進去會和用戶本身當前引入的第三方?jīng)_突嗎?

以Masonry舉例,不知道對方是否集成了Masonry,我們提供的sdk是抽取的以前的代碼 包含幾個頁面是Masonry布局 ??赡軙霈F(xiàn) 沖突


原工程是用cocopods來管理 擔心兩點1:cocopods中的第三方會被打入framework嗎 2:如果能打入framework 會和用戶引入的重復(fù)嗎? 基于這個選擇cocopods.png

參考文章:http://www.cnblogs.com/brycezhang/p/4117180.html
選型cocopods來打包framework

打framework過程 和私倉流程幾乎一樣

走完私倉流程后
打包
命令很簡單,執(zhí)行

pod package JingLib.podspec --force

--force是指強制覆蓋。

這是我打的流程和踩得坑
http://m.itdecent.cn/p/93c4b5eb3fb3

打出來的framework.png

網(wǎng)上大部分流程到這就沒了 大部分是私倉流程 打包的也到這就沒了
用的時候運行閃退 開始懷疑人生。。。 開始懷疑是不是沒把Masonry打進去
一不小心又踩了個坑
如圖:

打完后導入工程發(fā)現(xiàn)閃退 因為我是以Masonry為例子 運行的時候
不加-ObjC閃退.png

1:這個圖上半部分是framework內(nèi)部的ClickTextView追加了個addTestView方法用來測試能否正常運行 能運行說明framework內(nèi)部有Masonry


添加測試方法.png
加不加Masonry包大小變化.png

后面網(wǎng)絡(luò)搜索發(fā)現(xiàn)是 類別問題
解決靜態(tài)庫.png
-ObjC.png

加objc后正常了

打出來的framework.png

驗證支持的CPU架構(gòu)
驗證支持的架構(gòu).png

使用framework的demo地址:https://gitee.com/heyuefengyun/JingLibUseTestDemo

最后編輯于
?著作權(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)容