10

Today when i try to submit my app (update) to appstore, the Organizer told me :

"iPhone/iPod Touch : application executable contains unsupported architecture(s): armv7s"

I clearly remember that its last version was submitted with both armv7 and armv7s set and succeeded, but now Organizer changed its mind?

to remove armv7s flag is simple, but my app is Universal, will the armv7s-removed app run on all iOS devices (iPhone 5 for example)? when should i build with aremv7s?

Thank you.

EDIT : xcode version here is first 4.5 then i tried 4.5.1

21k
  • 391
  • 5
  • 16
  • Any chance you accidentally ran an old Xcode? – Steven Fisher Oct 31 '12 at 03:21
  • Ran into the same issue today. Xcode just refuses to validate my builds. Even the builds that were validated without errors a few days ago are no longer valid. Looks like Apple changed (or messed up?) something in the build validation process. – Alex Chugunov Oct 31 '12 at 05:53

2 Answers2

9

Ran into the same issue when updating my app on the store, I clearly remember when the last version of the app was submitted it had both armv7 and armv7s architectures with deployment target OS 4.3. Today when updating the very same app the error came up.

Finally I tried to upload the binary using Application Loader and it was successfully uploaded to the store, so probably there is some recent validation in place by apple when submitting using Organizer.

To upload the binary using Application Loader Goto Organizer > Right Click on Archive > Reveal in Finder. Right Click the Archive file > Show Archive Content

Go to Products > Application > [Your APP.app]

Compress [Your APP.app] and upload using Application Loader.

hope this helps :)

Mohit Padalia
  • 1,549
  • 13
  • 10
  • THANKS! I simply did not get it at all, I've uploaded a couple days ago exactly the same App without any issues already for armv7s. Stupid Apple with their validation process. Application loader works perfectly, I can vouch for that! Thanks! – Bob de Graaf Oct 31 '12 at 10:11
  • Thanks for your information : it proves i am not alone here. acutally i never used Oganizer to submit apps, but sure i always use it to validate my app before using apploader to submit. I'm going to ignore the validation and upload the app directly (like old times). – 21k Oct 31 '12 at 12:16
  • Yes, I have the same issue with Xcode4.5, but you solution works. Thanks a lot!.... – flypig Oct 31 '12 at 16:30
  • Thanks for the fix!! But, I would call this a workaround, rather than a solution. I have two apps, both of which have validated & been approved previously with armv7s support included. Now, one of the two still validates just fine, while I have to use this workaround for the other one. I would really like to figure out the root cause of this issue. – Sam J. Nov 02 '12 at 06:14
8

The latest Xcode can build executables with armv7 and/or armv7s code. armv7 code is required for all devices produced after the iPhone 3G (not including the 3G) and before (but not including) the iPad 4, iPhone 5; the iPad 4 and iPhone 5 can run armv7 code, but also armv7s code. Older iPhones can only run armv6 code.

You are already building armv7 code. You should continue to do so, and build armv7s code as well as soon as you can adequately test your code on an armv7s device. But if you are not able to test on an armv7s device, you can just ship armv7 code.

Your error message makes me wonder if you ran an older version of Xcode that doesn't support armv7s. armv7s is supported only by Xcode 4.5.

The flip side of this is that Xcode 4.5 drops support for armv6. You can pick supporting the older CPUs or the newer CPUs, but not both.

A final wrinkle: To support 16:9 resolution (the iPhone 5 screen) you need to use Xcode 4.5. This is not a technical requirement, but Apple is enforcing it by policy nonetheless.

Steven Fisher
  • 44,462
  • 20
  • 138
  • 192
  • Thank you for your clarification. Actually the xcode version is 4.5.1. anyway i'm going to skip the Organzier validation and upload the binary to appstore directly. – 21k Oct 31 '12 at 12:17