问题
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
回答1:
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 :)
回答2:
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.
来源:https://stackoverflow.com/questions/13150116/when-should-i-build-app-with-armv7s-support