XCode 4.2 uses as default armv7 for processor instructions. As iPhone 3G is armv6 compatible only, all apps created by default in XCode 4.2 cannot run on these devices.
Fixing this problem is very easy. First af all you should add armv6 in your compiler settings in “Architectures” and “Vallid Architectures” for your Target:
Secondary you have to edit your info.plist file by substituting “armv7” with “armv6” as “required device capabilities”.
NOTE: in info.plist you have to insert only “armv6”, otherwise this app will require both of the architectures and it will work only on iPhone 3GS, 4 and 4S.
I took the pictures to write this post from this article: http://stackoverflow.com/questions/7760946/is-it-possible-to-target-older-ios-versions-when-using-xcode-4-2-and-ios-5-sdk