When trying to archive an app for an Ad Hoc release, I am getting the following warning:
iPhone/iPod Touch: application executable contains unsupported architecture(s): armv7s (-19031)
I am really not sure why this is happening for two reasons:
- The only non-foundation framework I am using is the Facebook SDK, which is the latest version
- I successfully archived the app last week and the only things that have changed since then are purely coding changes.
Also, I have tried archiving with and without an iPhone 5 plugged in, and I receive the error both ways.
Does anybody know how to fix this?
Quick fix is
Remove armv7s from
Project -> Build Settings -> Architecures
Updated ::
Now change Build Active Architecture in Build Settings to No to Yes.
But even this is not a pure solution to this problem.
I could archive and validate my projects by changing status of 'Build Settings -> Build Active Architecture Only' from 'No' to 'Yes'.
Same problem here today when submit my app (update) to appstore.
I clearly remember that its last version was submitted with both armv7 and armv7s set and succeeded, but now Organizer told me :
"iPhone/iPod Touch : application executable contains unsupported architecture(s): armv7s"
to remove armv7s 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?
Same issues here, app passed validation before, but after a quick code change, no go. Could this possibly have something to do with ipods? Seems to be a recent issue, as of yesterday.
Getting the same result as 21k. I submitted a binary with both armv7
and armv7s
to the App Store last week, and it passed validation as well as the review. Now I tried submitting an update to the same app with the exact same project settings (other than the usual version number bump), and it fails validation.
In fact, I try validating the archived app from last week and now get the same error. So something must have changed on the App Store's side.
Go to Project ---> Build Settings and scroll down to the Architecture setting.
You will probably see the value $(ARCHS_STANDARD_32_BIT) listed under Architecture.
If so, double-click $(ARCHS_STANDARD_32_BIT), select it, and click the minus button to get rid of it. Then click the plus button and write armv7 and press Enter.
You have now removed armv7s, which was unsupported. Try it again and things should be good.
Removes armv7s architecture from menu Build settings > Architectures. At that point must appear valid architectural amrv7s and amrv7. Removes only finished in s. If the menu doesn't appears, notice that it is set to "All" and "Combined" in the search bar.