iPhone/iPod Touch: application executable is missing a required architecture
Asked Answered
N

10

34

I have an issue with xCode 4.2. I am getting this error when building:

2011-06-18 13:35:49.839 Validation[4110:607] *** Warning: Defaulting to the standard codesign tool
warning: iPhone/iPod Touch: application executable is missing a required architecture.  At least one of the following architecture(s) must be present: armv6 (-19033)
Unable to validate your application. - (null)

I had a look at my project settings, and it has :

architectures: Standard (arm7) - ${ARCHS_STANDARD_32_BIT)
Build active architecture only : NO

Not sure what

Neurasthenic answered 18/6, 2011 at 3:39 Comment(3)
use my answer i have give below may solve your problem....?I had this problem even after following the accepted answer and found the following to work: In your Info.plist, add an entry for Required Device Capabilities. This should be an array and will have two entries. Item 0 : armv6 Item 1 : armv7 It will look like this: Required device capabilities entryLoxodromic
@Himnanshu your solution did not work for me. Barak's did...Willin
Check out this link: developer.apple.com/library/ios/#qa/qa1760/_index.html It worked for me. LarryWallace
S
75

For some reason the default architecture settings with xCode 4.2 is only for armv7. Go to Target -> Build Settings -> Architectures -> Release on value dropdown pick "Other...",

remove $(ARCHS_STANDARD_32_BIT), and add 2 rows first with "armv6" and second "armv7"
Done

Sewel answered 7/10, 2011 at 1:1 Comment(3)
Awesome... this problem was killing me. It was actually preventing my app from deploying on an iPhone 3G (iOS 4.2 for example). Made this change and now it totally works! Thanks!Adult
Note: in some cases, deleting the old setting does not work. Simply adding "armv6" should do the trick, the end result being displayed for Architecture: "armv6 $(ARCHS_STANDARD_32_BIT)"Harmless
Tried this change, had no effect. Had to change deployment target to 4.3 (was 3.2) as in SK9 answer, which worked. Shame, because now old iPod Touch won't be supported.Orlene
C
38

For Xcode 4.5, set the deployment target to at least iOS 4.3 and that will resolve it. Earlier versions of iOS are almost extinct.

Canopy answered 14/9, 2012 at 1:28 Comment(2)
Thanks to all. Jumping through the hoops the right way to release an iphone app is crazy. Get it work with the bigger screen, then rotate properly again, then get the app loader to load it with minimal hints. I think the IOS 4.3 change was the charm.Meadowsweet
This also worked for me. I had mine set to 4.0 and with SDK 6.1..it needs minimum 4.3....THANK YOU!Ragin
E
7

Not the optimal solution, but I found that if I changed the Deployment Target to 4.3 (it was 4.0 before) it gets rid of the error.

Educative answered 5/10, 2011 at 15:20 Comment(3)
Thank you, after a couple of days now I can submit app!Extrasystole
I think that limits your app to iOS version 4.3 and above, btw. Not that it should be that big of a deal anymore. Just FYI.Horan
armv7 devices can only run iOS 4.3 and above which is one reason this works, however it will not run on older devices with an armv6 processor that have been updated to iOS 4.3 and above. If you dont want to support the older devices then it does not matter. If you do want to support the older devices you need follow Barak's solution above.Masaryk
S
6

For XCode 4.5

Had to set "Deployment Target" to 4.3, "Architectures" to armv6 armv7 armv7s as described above, AND "Build Active Architectures Only" to No.

This on a project that worked fine for several month before upgrading to XCode 4.5.

Simmers answered 12/10, 2012 at 17:56 Comment(0)
J
1

Note: Set the iOS Deployment Target to 4.3 or later in your project if you wish to drop ARM v6 support for your application. An ARM v7 processor is required to run versions of iOS later than 4.2.1.

Jackfruit answered 6/2, 2013 at 9:10 Comment(0)
P
0

In my case an upgrade to XCode caused it. I downgraded XCode to the previous version and it got fixed for me. If this is your issue then uninstall new version, reboot and then install old version again. That should do it for you.

I have also added some screenshots and info to my blog about this issue here: http://iostipsntricks.wordpress.com/2011/06/24/solved-application-executable-is-missing-a-required-architecture-at-least-one-of-the-following-architectures-must-be-present-armv6/

Prinz answered 25/6, 2011 at 1:29 Comment(0)
G
0

Had absolutely the same problem with Xcode Version 4.2. and got also an other error:

There is no codesign:wrapper executable. Please reinstall the Xcode developer tools.

After downgrading the Xcode to an older version it fixed the problem.

Gnosticize answered 30/6, 2011 at 11:29 Comment(0)
G
0

Check this post, it is the right one with just adjust a setting in Xcode 4.2, just set "Build Active Architecture only" to NO:

iTunes Connect application is missing required architecture

Garaway answered 18/9, 2011 at 3:10 Comment(0)
L
0

My Answer may be solve your problem: I had this problem even after following the accepted answer and found the following to work:

In your Info.plist, add an entry for Required Device Capabilities. This should be an array and will have two entries.

Item 0 : armv6
Item 1 : armv7

It will look like this:

Required device capabilities entry

Loxodromic answered 19/6, 2012 at 17:6 Comment(0)
S
0

Had the same problem, tried everything mentioned here - but still got the error on validate - I tried armv6 and armv7 steps, tried to add that to info.plist and also tried regenerating the distribution certificate just in case.

Turns out the info.plist file must have ${EXECUTABLE_NAME} and ${PRODUCT_NAME} in the respective fields ALSO the Product name in the Build Settings for that scheme+Target SHOULD match the scheme name I made sure all the names matched exactly EXECUTABLE_NAME, PRODUCT_NAME, Product Name in Target, binary name in build settings and info plist, and the deployable binary name - made sure they matched the Target name itself

Once all the names matched and the architecture matched, it worked. Until then it kept giving me error on validation.

Subvene answered 13/8, 2013 at 15:55 Comment(0)

© 2022 - 2024 — McMap. All rights reserved.