Since XCode4.5, apple have drop support to ARM architecture of ARMv6, and set the minimum device version to 4.3, which burden developers that need to support older version.
To understand how it affect developers, one should understand there are 2 fields they need to handle with, they are:
1. ARM Architecture
2. iOS Deployment Target
to know more about architecture, please visit
instruction set architecture.
In this article, we mainly focus on the architecture of different apple device.
The first question you may want to ask is, what iDevice is using ARMv6 architecture? The answer is simple, For iPhone, it is
iPhone(original) and
iPhone 3G. For iPod Touch, it is only
1st generation.
For iPad, none of them are using ARMv6.
Here is more detail:
iPhone:
Model |
CPU Core |
ARM architecture |
iPhone |
620 MHz (underclocked to 412 MHz)
ARM 1176JZ(F)-S |
ARMv6 |
iPhone 3G |
iPhone 3GS |
833 MHz (underclocked to 600 MHz)
ARM Cortex-A8 |
ARMv7 |
iPhone 4 |
1 GHz (underclocked to 800 MHz)
Apple A4 |
iPhone 4S |
1 GHz (underclocked to 800 MHz)
Dual-core Apple A5 |
iPhone 5 |
Apple A6 |
ARMv7s |
iPod Touch:
Model |
CPU Core |
ARM architecture |
1st generation |
620 MHz (underclocked to 412 MHz, originally 400 MHz)
ARM 1176JZ(F)-S |
ARMv6 |
2nd generation |
620 MHz (underclocked to 533 MHz)
ARM 1176JZ(F)-S |
ARMv7 |
3rd generation |
833 MHz (underclocked to 600 MHz)
ARM Cortex-A8 core |
4th generation |
1 GHz (underclocked to 800 MHz)
ARM Cortex-A8 |
5th generation |
ARM Cortex-A9 |
iPad:
Model |
CPU Core |
ARM architecture |
iPad (original) |
1 GHz ARM Cortex-A8 |
ARMv7 |
iPad 2 |
1 GHz dual-core ARM Cortex-A9 |
iPad (3rd generation) |
1 GHz dual-core ARM Cortex-A9 |