Take care with Xcode 4.2 or greater and iOS 3.x deployment!

Previous topic - Next topic

Dark Schneider

If you use the latest Xcode and want that your app works on 3.x devices, you should read http://stackoverflow.com/questions/4198676/warning-iphone-apps-should-include-an-armv6-architecture-even-with-build-config and http://theunemployedprogrammer.blogspot.com.es/2011/11/dyld-symbol-not-found.html (ignore de comment).

So you have to set manually the armv6 in architectures (project settings) and add '-weak_library /usr/lib/libSystem.B.dylib' to Build Settings->Linking->Other Link Flags.

The problem is that it doesn't warn you at compile time, it compiles fine (so happily), but is in runtime when it crashes. So be careful.