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


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

這里簡單記錄一下各種設備支持的架構。

 

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

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

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

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

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

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


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

一般情況下,debug 設置為yes,release為no,這樣發行版本能適應不同設備。

用到的命令行:

靜態庫.a支持信息:
lipo -info .a文件   
 
兩個靜態庫合並:
 lipo -create 文件1  文件2  -output /Users/sunjianfei/Desktop/libPrint.a

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM