Armv7, armv7s, arm64, i386, x86_64, and armv7armv7s in iOS

Source: Internet
Author: User

Armv7, armv7s, arm64, i386, x86_64, and armv7armv7s in iOS
Preface

What do armv7, armv7s, arm64, i386, and x86_64 in iOS mean? In Xcode, how do I select?

Introduction

Armv7, armv7s, and arm64 are ARM processor instruction sets.

I386 and x86_64 are mac processor instruction sets.

Which devices are using these instruction sets?
Arm64: iPhone6s | iphone6s plus | iPhone6 | iPhone6 plus | iPhone5S | iPad Air | iPad mini2 (iPad mini with Retina Display) armv7s: iPhone5 | iPhone5C | iPad4 (iPad with Retina Display) armv7: iPhone4 | iPhone4S | iPad | iPad2 | iPad3 (The New iPad) | iPad mini | iPod Touch 3G | iPod Touch4i386 is designed for intel general purpose microprocessor 32-bit processor x86_64. i386 architecture is required for testing 64-bit processor simulators 32-bit processors in x86 architecture, the 64-bit processor test of the simulator requires the x86_64 architecture, the 32-bit processor of the real machine requires the armv7 architecture, or the armv7s architecture. The 64-bit processor of the real machine requires the arm64 architecture.
Selection issues in actual development

Instruction Set related options in Xcode (in Build Setting)

1. ubuntures

Specify the types of instruction sets that can be compiled into a project. The more instruction sets supported, the more data packets that contain multiple instruction sets will be compiled. The larger the Binary Package generated, that is, the ipa package will become larger.

2. Valid ubuntures

Limit the range of instruction sets that may be supported, that is, the Binary Package Types compiled by Xcode are generated from these types, and the package of which instruction set is compiled, the intersection of ubuntures and Valid ubuntures is determined.

3. Build Active snapshot uture Only

Specifies whether to compile only the instruction set supported by the currently connected device.

When the value is set to YES, it is for debugging and compilation speed is faster. It only compiles the current architecture version, and when it is set to no, it compiles all versions. Therefore, you can select yes for debugging and no for release to adapt to different devices.

Example

For example, Valid ubuntures supports the following arm instruction sets: armv7, armv7s, and arm64. The corresponding ubuntures supports the arm Instruction Set versions: armv7s, at this time, Xcode generates only one Binary Package of the armv7s instruction set.

Note: In the Valid ubuntures settings, the default values are Standard ubuntures (armv7 and arm64). If you want to change the values, you can change the values in other.

Using the Standard utres (including 64-bit) (armv7, arm64) parameter, the package contains 32-bit and 64-bit codes, for iPhone 5s (the cpu of iPhone 5s is 64-bit), the 64-bit code package is preferred. The other 32-bit iPhones can only run 32-bit packages, however, the code package that contains two architectures only runs on systems above iOS 6.

And use Standard ubuntures (armv7, armv7s)Parameter, only 32-bit code is in the playing bag. The iPhone 5S cpu is 64-bit, but it is compatible with 32-bit code, that is, it can run 32-bit code. However, this will reduce the iPhone5s performance. The remaining iPhones have no problem with 32-bit code packages, and 32-bit code packages have almost no restrictions on the system.

Related Article

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

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.