最近開發(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"