Xcode 4.2 + iOS5 building armv6+armv7 binary problems

After upgrading to Xcode4.2 and iOS5, we had problems building the binary for submission to AppStore. The final binary did not include both armv6 and armv7 architectures, so it was rejected. When linking, the linker told us about this warning:

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

I think the use of this Xcode setting “$(ARCHS_STANDARD_32_BIT)” has changed its meaning since,..sometime. We solved this by doing this:

  • Goto Project->Build Settings
  • Find Architectures and change it from $(ARCHS_STANDARD_32_BIT) to two new values armv6 and armv7
  • While you are there, you can also check that Build Active Architecture Only has been set to No for the AdHoc and AppStore targets

October 30, 2011 В· polesen В· 3 Comments
Tags: ,  В· Posted in: Tools

3 Responses

  1. xunxun - November 4, 2011

    Thanks man!!! it works

  2. Jeff B - November 20, 2011

    I have the same issue but adding armv6 and armv7 is not resolving? I’m also using PhoneGap if that makes a difference, I have always used 3.2 as min OS, some post are saying to set to 4.3 or higher???

  3. polesen - November 20, 2011

    Have you also checked that “Build Active Architecture Only” is set to “No” for the target you are building?

    If so, I have no further clues for you:)