Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

"Warning: iPhone apps should include an armv6 architecture" even with build config set

Tags:

xcode

ios

It's been a while since I've had to adjust project build settings. After upgrading to a recent SDK I'm having trouble building my ad hoc distribution configuration.

Build generates this warning and error:

warning: iPhone apps should include an armv6 architecture (current ARCHS = "armv7")

iPhone/iPod Touch: application executable is missing a required architecture. At least one of the following architecture(s) must be present: armv6 (-19033)

However in my project I thought I had things set correctly:

  • Architectures is: Standard (armv6 armv7)
  • Base SDK: Latest iOS (currently set to iOS 4.2)
  • Valid Architectures: armv6 armv7

alt text

I have cleaned all targets.

I appreciate any tips.

like image 940
Nick Avatar asked Nov 16 '10 20:11

Nick


2 Answers

If using Xcode 4.2 or higher, try the following:

  1. Click your Project name (in the left column), followed by the Target:

    enter image description here

  2. Click the 'Build Settings' tab (in the right column):

    enter image description here

  3. Click the 'Release' or 'Distribution' row under 'Architectures', and choose 'Other...':

    enter image description here

  4. Double click the highlighted row named '$(ARCHS_STANDARD_32_BIT)' in the popover that appears, and replace it by typing 'armv6'. Then add a new row with the plus button in the bottom left of the popover, and type 'armv7', then click Done:

    enter image description here

Update: you should add armv7s to target the iPhone 5 as well. (And drop armv6 if building with Xcode 4.5 or higher, which no longer supports armv6.)

That's it. You should now be able to build/archive without generating errors.

If it still doesn't work, see this answer from justinxreese, which suggests adding entries for armv6 and armv7 under "Required Device Capabilities" in your info.plist file.

like image 116
Nick Avatar answered Oct 02 '22 20:10

Nick


If you uncheck "Build Active Architecture Only", then it will build all the valid architectures.

Update: This is no longer applicable as of Xcode 4 - follow Nick's instructions for Xcode 4 and later.

like image 36
Brian Avatar answered Oct 02 '22 19:10

Brian