5

When building an iPad only application I get the following warning:

"warning: building for deployment target '3.2' should omit the armv6 architecture."

I would like to edit the Architectures setting so it only shows armv7. However, the options are coming from the following marco $(ARCHS_UNIVERSAL_IPHONE_OS).

Is there a macro I should be using for IPAD (non-universal) binaries.

To work around the problem I did the following:

  1. Make sure active target is set on armv7
  2. Check the "Build Active Architecture Only" option

That removes the warning and creates a non-universal binary, but I have to do this EVERY time I switch configurations because the active target keeps defaulting to armv6.

Tod Cunningham
  • 3,595
  • 3
  • 26
  • 32

3 Answers3

5

Not sure about an appropriate macro, but if you select "other...", remove $(ARCHS_UNIVERSAL_IPHONE_OS), and enter just "armv7" on its own, that seems to do the trick.

jemmons
  • 18,194
  • 6
  • 53
  • 83
  • The text from the Macro says "Optimized(armv6 armv7)". So by just putting in armv7 is that going to be Optimized or "standard". Would just putting in something like Optimized(armv7) work?. – Tod Cunningham Mar 23 '10 at 11:45
2

I deleted the arm6 entry, but my error never went away until I clicked the "Build for active architecture only" button.

RyeMAC3
  • 1,023
  • 1
  • 10
  • 17
1

Bad idea. Jut removed arm6 and tried to upload my app to iTC. I get the following error:

"The binary you uploaded was invalid. When supporting iPhone, the executable must include support for the armv6 architecture, unless the UIRequireDeviceCapabilities include the 'armv7' capability."

I added it back in, rebuilt and strangely I don't get the warning any more. So maybe it was all about clicking off that "Build for Active Architecture" button.

Anyway, I'm uploading the new binary now

RyeMAC3
  • 1,023
  • 1
  • 10
  • 17