Question

I tried debugging my ios 6.1 project on the new iPad 4 (A6X, armv7s instruction set). However the build failed with

No architectures to compile for (ONLY_ACTIVE_ARCH=YES, active arch=armv7s, VALID_ARCHS=armv6 armv7 i386).

I'm using XCode5-DP6. App debugs on the latest iPod touch (armv7) and on both iPad and iPhone simulators (both iOS 6.1 and 7.0).

It was my understanding that code built for arm7 should build and run on arm7s, since apps between iPad3 and iPad4 are the same? Any clue what I'm doing wrong?

Was it helpful?

Solution

The last product I know of with armv6 is iPhone 3G, even iPhone 3GS is with armv7. Apple has removed the support for armv6 in a way you cannot compile to that processor architecture and even if you would successfully compile you would have a problem submitting the app to Apple (the build won't be accepted automatically). Moreover, You cannot compile to an OS below 4.3 (it would give you errors also) so there are some restrictions - I'm saying that because I think old devices also can't support new OS. So, it is just a matter of days that there won't be any old iPhone with an OS you can support with Apple's platform.

So, my recommendation is to change the build and valid architectures to armv7, armv7s & i386 (if you need it).

This shall work and you really don't have a choice. you should know that most users doesn't own those old devices. If you still want to support those maybe you should consider add a new app specific for "new" devices, but know that you couldn't update the old version because of what explained earlier.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top