Way to restore Xcode to accept armv6 architecture?
Solution 1
In Project Settings, select "Standard" for the architecture (not "Optimized"). This should allow you to select "armv6" for the Active Architecture. This means it should also work on older devices (barring any other deprecations) once it's on the app store.
Solution 2
Nothing worked for me until I set "Build Active Architecture Only" to No.
Related videos on Youtube
Owen Hartnett
iOS contracting programmer with several apps in store and also enterprise apps. Director of Boston MacTechGroup.
Updated on May 27, 2020Comments
-
Owen Hartnett about 4 years
I have a 3rd party .a library, which is apparently compiled for only armv6 compatibility, where both new Xcodes (3.2.6 and 4), both now require a separate armv7 slice to run on the device. The link error is: file is universal but does not contain a(n) armv7 slice for architecture armv7.
Anyone know how to make either of the two new Xcode operate as 3.2.5 did and accept the existing library while I'm waiting for the library vendor to cook up an armv7 version?
-
ughoavgfhw over 13 yearsIf you look at your build settings, the Architectures setting is probably Standard, which includes both armv6 and armv7. To change it to just armv6, change it to custom and type in armv6.
-
Owen Hartnett over 13 yearsYes - that works! Thanks for the response.
-
Asad Khan over 13 yearsPut that in an answer & accept it as answered. Solution solved my problem I want to vote up :)
-
Owen Hartnett about 13 yearsHere's what's been working for me on Xcode 4. Open up the build settings and look for Architectures. You'll probably have a default value in there. When you edit it, a dialog will open up. Delete the default setting, and add the following on separate lines: armv6 i386 x64. That should do it (note that you're not going to get any armv7 optimization anywhere).
-
Ben Flynn about 12 yearsI ran up against an issue where I had both armv7 and armv6 third party libraries and the XCode 4 linker refused to link them. Did not find any way around this, other than to compile in Xcode 3.
-
Owen Hartnett about 12 years#ben, check this out. I wrote a hack to fool the linker into thinking the armv6 libraries were armv7: stackoverflow.com/questions/10625253/…
-