I’ve recently put up a free app in the app store, which seems to work fine for most users. But I have received some reports from users telling me that "This app is incompatible with this iPhone" for users running iPhone 3G with iOS 4.2.1.
This is what the binary details looks like in the iTunes connect
App Name : XXXXXXXXX
Apple ID : XXXXXXXXX
Bundle Identifier : XXXXXXXXX
Localizations : ( "en" )
Prerendered Icon Flag : false
Original Zip File Name : XXXXXXXXX.ipa
Bundle Short Version String : 1.0
Bundle Version : 1.0.13
Minimum OS Requirements : 4.0
Build SDK : 9A334
Build Platform : 9A334
Required Capabilities : armv6 armv7
Supported Architectures : armv6, armv7
Device Family : iPhone / iPod
Touch Newsstand App : false
Entitlements : XXXXXXXXX.app/XXXXXXXXX
get-task-allow: false
keychain-access-groups: ( XXXXXXXXX )
application-identifier: XXXXXXXXX
Which I think looks very accurate.
I can also add that the same application built with another provisioning profile works perfect on the same device when installing it OTA.
If you have an idea, please let me know.
My updated application has just been approved by apple, and I can now install the app on iPhone 3G (iOS version 4.2.1).
What caused the problem is that the UIRequiredDeviceCapabilities is by default set to armv7 only, I added armv6 to it but I realized that it won’t help.
In my 1.0.1 version I just removed the UIRequiredDeviceCapabilities completely and it now works like a charm!