簡單了解一下iPhone模擬器和真機的系統架構:
TABLE | iPhone 4s | iPhone 5 | iPhone 5s及以上 |
---|---|---|---|
模擬器 |
i386架構 32位
|
i386架構 32位
|
x86_64架構 64位
|
真機 |
armv7架構 32位
|
armv7s架構 32位
|
arm64架構 64位
|
-
在xcode中創建一個靜態庫之后,Build Settings 里面可以添加移動設備的系統架構(注意:iOS11不支持iPhone5及以下設備),如下圖:
Pasted Graphic.png -
將Architecture Only改為No,在不同框架的設備上編譯后能生成包含不同框架的庫,如下圖:
Pasted Graphic 1.png -
Show in Finder 找到我們的靜態庫,include里面沒有我們添加的.h文件,在終端切換到當前目錄Debug-iphonesimulator,通過命令行lipo -info xxxx.a 查看靜態庫的架構.
Pasted Graphic 2.png -
在Copy Files里添加我們的.h文件,如下圖:
Pasted Graphic 3.png -
再次編譯之后就ok了,如下圖:
Pasted Graphic 4.png -
通過搜索mach,查看庫類型,注意蘋果規定App中不能帶有自己的動態庫,否者在上架的時候會殘忍拒絕,如果需要上架只能使用靜態庫:
Pasted Graphic.png