swift打包庫踩坑
1、新建動(dòng)態(tài)包項(xiàng)目

2、配置支持版本,配置打包庫的類型(此出我們選擇動(dòng)態(tài)庫,關(guān)于這幾種庫的異同請(qǐng)百度)

3、添加測試文件,注意swift包,如果想被外部訪問,需要用public或open描述,且用@objc描述(以前是不需要的)

4、導(dǎo)入第三方庫,此處以SDWebImage為例.打包庫里不能使用cocoapod的方式導(dǎo)入三方庫,所以我去github下載了包,自己生成了iOS真機(jī)模擬器通用包(具體github有教程),導(dǎo)入第三方庫后在頭文件import

5、使用三方框架

6、添加需要支持的指令集(模擬器32位處理器測試需要i386架構(gòu),模擬器64位處理器測試需要x86_64架構(gòu),真機(jī)32位處理器需要armv7,或者armv7s架構(gòu),真機(jī)64位處理器需要arm64架構(gòu)。arm64e架構(gòu)用于A12芯片組,該芯片組在最新的2018 iPhone型號(hào)(XS / XS Max / XR)中添加)

7、設(shè)置打包環(huán)境,選擇release或者debug


8、編譯生成動(dòng)態(tài)庫


9、使用lipo -create -output命令生成真機(jī)模擬器通用包

10、使用最終生成的framework,導(dǎo)入生成的動(dòng)態(tài)庫,導(dǎo)入依賴的sdwebimage庫,設(shè)置embed & sign

導(dǎo)入使用報(bào)錯(cuò),找不到x86_64對(duì)應(yīng)的模擬器指令集文件

我們cd到剛才生成的動(dòng)態(tài)包目錄,查看包支持的指令集(lipo -info),顯示是有是有x86_64的

最后找到原因,

最后得到

11、重新導(dǎo)入生成的framework,成功編譯使用,真機(jī)模擬器都可以使用
