framework之靜態(tài)庫(kù)封裝

最近開發(fā)中需要處理一個(gè)第三方開源庫(kù),但是這個(gè)庫(kù)沒有pod倒入而且也沒有做framework,所以我自己就把源碼拉下來做個(gè)簡(jiǎn)單的framework靜態(tài)庫(kù),在這個(gè)過程中遇到一些問題,特此記錄下來。

1. 自己創(chuàng)建一個(gè)framework的project,然后把自己要封裝的或者第三方的源碼拉進(jìn)這個(gè)project里面。

2. 將自己想要暴露給外面訪問的源碼頭文件添加到 BuildPhases -> Headers -> Public下

不想暴露的放到對(duì)應(yīng)的Private下面就可以了

3. ? ?配置項(xiàng)目:


? ? a. Architectures 配置為 ?ARCHS_STANDARD 和 armv7s

? ? b. Build Active Architecture Only 為NO

? ? c. Excluded Architectures 中的realse 設(shè)置為arm64

4. 編譯真機(jī)和模擬器的framwork ,然后通過product下跳轉(zhuǎn)到對(duì)應(yīng)的framework目錄 ,然后終端命令行處理合并,這里可能會(huì)碰到一個(gè)問題就是模擬器的framework包含arm64的架構(gòu),需要手動(dòng)移除:a. 查看framework架構(gòu)的命令:lipo -info xxx.framework/xxxxFramework

? ? ? ? ? ? ? ? ? ? ? ? b. 移除指定架構(gòu)的命令:?lipo -remove arm64 xxx.framework/xxxxFramework?-oxxx.framework/xxxxFramework

? ? ? ? ? ? ? ? ? ? ? ? c.合并虛擬機(jī)和真機(jī)的framework :lipo -create "iphoneos/xxxx.framework/xxxframework" "iphonesimlators/xxxx.framework/xxxframework" -output "xxxframework"

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

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

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