iOS 中的 armv7,armv7s,arm64,i386,x86_64 都是什麼

在作靜態庫的時候以及引用靜態庫的時候常常會遇到一些關於真機模擬器不通用的狀況,會報錯找不到相應庫致使編譯失敗,架構

這裏簡單記錄一下各類設備支持的架構。iphone

 

iOS測試分爲模擬器測試和真機測試,處理器分爲32位處理器,和64位處理器,測試

模擬器32位處理器測試須要i386架構,(iphone5,iphone5s如下的模擬器)ui

模擬器64位處理器測試須要x86_64架構,(iphone6以上的模擬器)spa

真機32位處理器須要armv7,或者armv7s架構,(iphone4真機/armv7,      ipnone5,iphone5s真機/armv7s)命令行

真機64位處理器須要arm64架構。(iphone6,iphone6p以上的真機)debug

project -> target -> building setting -> Arhitectures 設置ip


debug屬性設置爲no的時候,會編譯支持全部架構的版本,編譯的速度會變慢,設置爲yes 的時候,只編譯當前的architecture版本,編譯速度快。get

通常狀況下,debug 設置爲yes,release爲no,這樣發行版本能適應不一樣設備。it

用到的命令行:

靜態庫.a支持信息:
lipo -info .a文件   
 
兩個靜態庫合併:
 lipo -create 文件1  文件2  -output /Users/sunjianfei/Desktop/libPrint.a
相關文章
相關標籤/搜索