IOS 開發學習37 的Architecture與iphone版本對應關係

來源:互聯網
上載者:User

標籤:ios   指令   

簡介

Arm是處理器是行動裝置上佔用率最大的處理器。
armv6、armv7、armv7s、arm64都是arm處理器的指令集。通常指令是向下相容的。在模擬器運行時,iOS模擬器啟動並執行是x86指令集。只有在真機上,才會對執行arm指令集。

如果出現錯誤:
OBJC_CLASS$_xx檔案名稱”, referenced from:
linker command failed with exit code 1 (use -v to see invocation)

要設定:

Build Active Architecture Only

這個屬性設定為yes,是為了debug的時候編譯速度更快,它只編譯當前的architecture版本,所以會報錯編譯不到檔案,出錯(”OBJC_CLASS$_ZBarReaderViewController”, referenced from:)
而設定為no時,會編譯所有的版本。

裝置對應的architecture:
架構 版本
armv6 iPhone,iPhone 2G/3G,
iPod 1G/2G
armv7 iPhone 3GS,iPhone4,iPhone 4s,
iPad,iPad2,iPad3(The New iPad),iPad mini,
iPod Touch 3G,iPod Touch4
armv7s iPhone5, iPhone5C,
iPad4,
iPod5
arm64 iPhone5s,iPhone6,iPhone6 Plus,
iPad Air,iPad mini2(iPad mini with Retina Display)

從XCode45開始,不再支援armv6指令集。

Xcode的Achitectures設定Architectures:

選擇Target產生包所支援的指令集,則意味著產生的包裡面要包含對應的指令集代碼。原則上選擇的Target多,會造成產生的包比較大。

Valid Architectures:

Valid Architectures限制可能被支援的指令集範圍。

產生的包裡,是Valid Architectures與Architectures的交集。

Build Active Architecture Only:

是否只編譯當前串連裝置所支援的指令集。

編譯產生的包裡支援的指令集,與上面的三個選項設定都有密切的關係。如:
現XCode串連New iPad(支援armv7)設定:

選項
Build Active Architecture Only YES
Architectures armv7 armv7s arm64
ValidArchitectures armv7 armv7s arm64
這時產生包支援指令集 armv7

如果是下面情況就會出現問題:

選項
Build Active Architecture Only YES
Architectures armv7 armv7s arm64
ValidArchitectures armv6 armv7s arm64
這時產生包支援指令集 編譯報錯:No architectures to compile for…

Build Active Architecture Only一般在Debug設為Yes,Release設定為No。

歡迎關注[獨孤沒劍]blog :
(http://blog.csdn.net/xundh/%20%22%E7%8B%AC%E5%AD%A4%E6%B2%A1%E5%89%91%22%20%E7%9A%84blog)

IOS 開發學習37 的Architecture與iphone版本對應關係

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.