application executable is missing a required architecture armv6
Asked Answered
ios
K

8

81

I am using xCode 4.2 and trying to deploy my application. I am failing the validation with the following error message:

application executable is missing a required architecture armv6

The value for my Architectures is set to Standard (armv7). This is the ONLY option in the dropdownlist. Base SDK: iOS 5.0 (This is the only option) Deployment SDK: 3.2 Build Active Architecture Only: NO Valid Architectures: armv6 armv7 armv7f armv7k

Does anyone please know the solution to this problem?

Keeling answered 13/8, 2011 at 21:40 Comment(4)
possible duplicate of iPhone/iPod Touch: application executable is missing a required architectureUnctuous
Actually the duplicate question has a different solution which is to revert back to the old version of xCode. I was wondering if there is some way to solve this problem for the current version.Keeling
Turns out the only solution is to uninstall xCode 4.2 and install xCode 4.1Keeling
As iOS 5.0 and Xcode 4.2 are beta software, they are still under NDA. Your best bet is to discuss them at Apple's Developer Forums: devforums.apple.com . If you encounter a bug with the tools, be sure to file a report at bugreport.apple.com .Deidredeific
B
83

In the Xcode 4.2 GM this is still a problem but you can resolve it by doing the following.

  1. Switch to the files/folders view in xcode project

  2. Select your Project ( the blue icon)

  3. Select your Application under Targets in the middle of the screen.

  4. Go To build settings

  5. Find Architectures > Distribution

  6. Expand this section so you can see both Debug and Release

  7. Change "Standard (armv7) - $(ARCH_STANDARD_32_BIT)" to "Other..."

  8. Replace, "Standard (armv7) - $(ARCH_STANDARD_32_BIT)" with "armv6", then add a new item "armv7"

Remember you may need to do this for all included projects aka frameworks such as TAPKU

enter image description here

Bloomy answered 5/10, 2011 at 21:13 Comment(3)
I don't really understand the step 8... Could you elaborate please?Mesozoic
If you select OTHER from the drop down, you get a box that had grids, you can add armv6 on one line and armv7 on the next line. The screen shot you added is wrong.Bloomy
Make sure "Build Active Architecture Only" is Set to "No" Otherwise if you are connected to device it will build for that device only...Yung
R
46

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

Revet answered 21/9, 2012 at 4:41 Comment(2)
Thanks very much for this, it has cost me a 2-hour headache already!Hoyle
yeah, setting the target to iOS 4.3 solves the issue in the latest 4.5.1 too... thxPotsdam
S
40

Easy way to do it:

1) Left-click project icon (blue icon, under "Run" button).

2) Next to the project icon (to the right of it), left-click on project name under "PROJECT" (White background).

3) Select tab "Build Settings" and look for submenu "Architectures" (First one). Left-click on "Standard (armv7) $(ARCH_STANDARD_32_BIT)" and select "Other..."

4) Click on the "-" icon to remove original value ("$(ARCH_STANDARD_32_BIT)"). Click the "+" icon and write "armv6" (without double-quotes). Click the "+" icon again and add "armv7" (also without double-quotes). Click "Done".

5) Make sure that "Build Active Architecture Only" is set to "No" (it should be)

6) Next to the project icon (to the right of it), left-click on project name under "TARGETS" and repeat steps 3, 4 and 5.

7) Press cmd + I on your keyboard (or Product -> Profile on Xcode menu) and check to see if everything is ok.

Shakti answered 7/10, 2011 at 2:47 Comment(3)
I find these instructions to be more clear, but don't forget this important note from @J3RM: "Remember you may need to do this for all included projects aka frameworks such as TAPKU"Chaille
my settings were such that "Build Active Architecture Only" was set to true -- thanks for the solution!Rhodos
In step 4 you mentioned click Done. But I do not see any DOne button. :/ Am I missing something here?Alisiaalison
C
5

My environment was Xcode 4.5.1. Changing two things solved this issue for me.

  1. Setting the deployment target to at least iOS 4.3.
  2. Keeping only armv7 architecture in the Architectures list under build settings and removing all others (including armv6) explicitly.
Cuspid answered 23/10, 2012 at 6:46 Comment(1)
Yup, me too. My iPad-only app refused to build, until I removed armv7s from the list of architectures.Spheroid
S
4

I stumble upon this question when looking for a solution to the warning:

warning: iPad: application executable is missing a required architecture.
At least one of the following architecture(s) must be present: armv7 (-19033)
Unable to validate your application. - (null)

Other answers did not solve my problem, then I realized I changed a value of CFBundleExecutable. When I returned to the old value everything went smoothly again.

I'm not sure what is a direct cause of that warning but at least I can distribute Ad Hoc builds again.

Sixteenmo answered 27/3, 2012 at 10:3 Comment(1)
Really weird, got the same warning and along with some unrelated ones. Changed the value of CFBundleExecutable back to what it was and all went fine. Thank!Meaningless
C
3

All of the answers didn't help for my case, using Xcode 4.2.1.

What I did was changing Architectures from armv7 to armv6 armv7 and it worked. Like this:

enter image description here

Chloramphenicol answered 16/12, 2011 at 18:17 Comment(0)
P
3

Adding armv6 was only partially the problem for me to resolve the same issue with Xcode 4.5. I also had to increase my deployment target from iOS 4.1 to iOS 5.0 to get it to work. Many hours of frustration for such a simply fix. Hope it helps.

Paronym answered 1/10, 2012 at 19:25 Comment(1)
Increasing the target to 4.3 suffices.Revet
M
-1

For me it helped when I set only armv6 under Architectures

Mckinley answered 7/10, 2011 at 1:8 Comment(0)

© 2022 - 2024 — McMap. All rights reserved.