Hope to remove armv6 architecture for iPad in XCode?
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:
- Make sure active target is set on armv7 开发者_运维知识库
- 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.
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.
I deleted the arm6 entry, but my error never went away until I clicked the "Build for active architecture only" button.
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
精彩评论