(IOS)關於Xcode的架構(Architectures)設置


首先來了解一下Architectures中幾個參數的含義

ARMv6:ARM11內核用於iPhone2G和iPhone3G中的架構 

ARMv7:modern ARM內核用於iPhone3GS和iPhone4/S中的架構 

ARMv7s:A6內核用於iPhone5中的架構 

ARM64:A7內核用於iPhone5S/C中的架構 

 

然后在Xcodebuild settingArchitectures一欄中有幾個比較重要的選項,而代碼的編譯架構一般設置以下兩項:ArchitecturesValid Architectures。其中Architectures是指項目編譯時生成哪幾個架構的二進制指令,項目建成時會自動選擇,但在Xcode5中其選擇的結果是默認包含ARM64,若果項目使用沒有在ARM64上編譯的第三方庫,通常會有很多錯誤或告警而編譯不過,這時就必須將ARM64去掉,即選擇armv7 armv7s,因為ARM的指令是向前兼容的,即使這樣選擇也能在iPhone5S/C上運行。

但在Valid Architectures一項中,必須選上你要支持的具體架構類型,比如這項沒有arm64的話就不能在iPhone5S/C上運行了。

這里我猜測在Architectures選上最新的架構是為了app能使用架構對應的新硬件功能或提升運行效率,而庫文件的架構則必須統一。而它盡管向前兼容,但有對應架構的二進制指令可能效率會最優。暫時沒有找到文獻,得到證據后補上。

文獻地址:http://www.mobinett.com/2013/09/20/ios-7-xcode-5-project-build-settings-for-architectures-and-arm64-support/


免責聲明!

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



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