Why? Error : Invalid Bundle. The bundle App.app does not support the minium OS version specified in the Info.plist

Help guys,

I feel like an idiot getting this message everytime I try to upload my update through Application Loader 3.0. I’ve build and upload my app before with enterprise but this is the first time I done it with Yosemite and Xcode 6.1 (ios 8.1 SDK)

I stared at my build settings to make sure my Dev Target is ios 6.0, I even check the value of minimumOSVersion my plist from my .ipa. All of them said 6.0.
 

The only thing I’m curious about is the DTXPlatformVersion on my plist that says 8.1 but we’re not supposed to edit that as those keys are generated.

Help me please as I’m supposed to update the app few days ago and I’m stuck here :frowning:

Thanks

Hi @yanuar,

Can you please post the contents of your “plist” block from build.settings so we can inspect?

Thanks,

Brent

Hmm… which one is this “plist” block are we talking about here? 
Are we talking about the “Build Settings” section on Xcode?

Anyway, here are my build settings section block that I think worth to check but let me know if there’s anything specific to look at:

dWbywyd.jpg

V4apwKn.png

Hi @yanuar,

You mentioned a plist “DTXPlatformVersion” but I don’t see that in your screenshots. Where is that located?

It’s located in the actual plist file that comes with the app (shown below). I believe there are some keys that were automatically generated by XCode.

\<?xml version="1.0" encoding="UTF-8"?\> \<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"\> \<plist version="1.0"\> \<dict\> \<key\>BuildMachineOSBuild\</key\> \<string\>14B25\</string\> \<key\>CFBundleDevelopmentRegion\</key\> \<string\>en\</string\> \<key\>CFBundleDisplayName\</key\> \<string\>KungFuQuest\</string\> \<key\>CFBundleExecutable\</key\> \<string\>App\</string\> \<key\>CFBundleIconFile\</key\> \<string\>Icon.png\</string\> \<key\>CFBundleIconFiles\</key\> \<array\> \<string\>Icon.png\</string\> \<string\>Icon@2x.png\</string\> \<string\>Icon-Small-40.png\</string\> \<string\>Icon-Small-40@2x.png\</string\> \<string\>Icon-60.png\</string\> \<string\>Icon-60@2x.png\</string\> \<string\>Icon-72.png\</string\> \<string\>Icon-72@2x.png\</string\> \<string\>Icon-76.png\</string\> \<string\>Icon-76@2x.png\</string\> \<string\>Icon-Small-50.png\</string\> \<string\>Icon-Small-50@2x.png\</string\> \<string\>Icon-Small.png\</string\> \<string\>Icon-Small@2x.png\</string\> \</array\> \<key\>CFBundleIdentifier\</key\> \<string\>com.iplayalldaystudio.kungfuquestthejadetower\</string\> \<key\>CFBundleInfoDictionaryVersion\</key\> \<string\>6.0\</string\> \<key\>CFBundleName\</key\> \<string\>KungFu Quest\</string\> \<key\>CFBundlePackageType\</key\> \<string\>APPL\</string\> \<key\>CFBundleShortVersionString\</key\> \<string\>1.6\</string\> \<key\>CFBundleSignature\</key\> \<string\>????\</string\> \<key\>CFBundleSupportedPlatforms\</key\> \<array\> \<string\>iPhoneOS\</string\> \</array\> \<key\>CFBundleVersion\</key\> \<string\>1.6\</string\> \<key\>CoronaUseIOS6LandscapeOnlyWorkaround\</key\> \<true/\> \<key\>CoronaViewSupportedInterfaceOrientations\</key\> \<array\> \<string\>UIInterfaceOrientationLandscapeRight\</string\> \<string\>UIInterfaceOrientationLandscapeLeft\</string\> \</array\> \<key\>DTCompiler\</key\> \<string\>com.apple.compilers.llvm.clang.1\_0\</string\> \<key\>DTPlatformBuild\</key\> \<string\>12B411\</string\> \<key\>DTPlatformName\</key\> \<string\>iphoneos\</string\> \<key\>DTPlatformVersion\</key\> \<string\>8.1\</string\> \<key\>DTSDKBuild\</key\> \<string\>12B411\</string\> \<key\>DTSDKName\</key\> \<string\>iphoneos8.1\</string\> \<key\>DTXcode\</key\> \<string\>0610\</string\> \<key\>DTXcodeBuild\</key\> \<string\>6A1052d\</string\> \<key\>LSApplicationCategoryType\</key\> \<string\>public.app-category.action-games\</string\> \<key\>LSMinimumSystemVersion\</key\> \<string\>6.0\</string\> \<key\>LSRequiresIPhoneOS\</key\> \<true/\> \<key\>MinimumOSVersion\</key\> \<string\>5.0.0\</string\> \<key\>NSMainNibFile\</key\> \<string\>MainWindow\</string\> \<key\>NSMainNibFile~ipad\</key\> \<string\>MainWindow-iPad\</string\> \<key\>UIAppFonts\</key\> \<array\> \<string\>Manga.ttf\</string\> \<string\>Doctor Jekyll NF.ttf\</string\> \<string\>Gang of Three.ttf\</string\> \<string\>Armor Piercing.ttf\</string\> \</array\> \<key\>UIDeviceFamily\</key\> \<array\> \<integer\>1\</integer\> \<integer\>2\</integer\> \</array\> \<key\>UIInterfaceOrientation\</key\> \<string\>UIInterfaceOrientationLandscapeRight\</string\> \<key\>UIPrerenderedIcon\</key\> \<true/\> \<key\>UIRequiredDeviceCapabilities\</key\> \<array\> \<string\>armv7\</string\> \<string\>front-facing-camera\</string\> \<string\>gamekit\</string\> \</array\> \<key\>UIStatusBarHidden\</key\> \<true/\> \<key\>UIStatusBarStyle\</key\> \<string\>UIStatusBarStyleBlackTranslucent\</string\> \<key\>UISupportedInterfaceOrientations\</key\> \<array\> \<string\>UIInterfaceOrientationLandscapeRight\</string\> \<string\>UIInterfaceOrientationLandscapeLeft\</string\> \</array\> \<key\>UISupportedInterfaceOrientations~ipad\</key\> \<array\> \<string\>UIInterfaceOrientationLandscapeLeft\</string\> \<string\>UIInterfaceOrientationLandscapeRight\</string\> \</array\> \</dict\> \</plist\>

Nobody has this problem before? I used the App template that comes with the Enterprise package and barely change anything on it (I just move the entire Corona folder and add some libraries for the plugins).

I see a minimum OS of 5.0.  We dropped support for that a while back.  Since Apple generally only supports 2 versions back, and with 8.1 being out, that would make 6.1 the minimum supported OS from Apple.

Also in one screen shot you have the SDK set to 8.1 and in another place you have it set to 6.1.  Perhaps you could try setting them both to the same value.  I would recommend 8.1.

Rob

Hi Rob,

How familiar are you with this? MinimumOSVersion isn’t set by us, same with those SDK version keys. In general, I try not to hack my info.plist file (since you actually can’t do this without screwing up the code signing)

The SDK version will always be 8.1 since it’s the latest that comes with XCode 6.1 and cmiiw, that shouldn’t decide what is the minimum OS version. My deployment target is supposed to be 6.x as I want to still support old OS

I do wonder why my MinimumOSVersion key is 5.0.0 as my build settings clearly says it’s 6.1

 

I’m not that familiar with the Xcode side of the house.  Apple is likely not going to accept apps built on 6.1 as the target.  They haven’t in over a year.  As of Feb 1, they will require submissions to be based on 8.1   Try making both of those settings 8.1 and see what happens.

Rob

My last update is on March this year and its deployment target is still 6.0 so I’m not sure about that.
By the Feb 2015 they will require submission to support arm64 not ios 8.1 as minimum OS supported. CMIIW, I believe what you said is wrong. But if it’s true, does this mean even build made from Pro now only supports 8.1?

Anyway, I did a build comparison from pro and enterprise and actually the info.plist is almost identical. MinimumOSVersion is still 5.0.0 on both info.plist.

 

Apple is warning all uploads that don’t support 64 bit that they will require it as of 2/1, however they also going to require iOS 8 too. 

64-bit and iOS 8 Requirements for New Apps

October 20, 2014

Starting February 1, 2015, new iOS apps uploaded to the App Store must include 64-bit support and be built with the iOS 8 SDK, included in Xcode 6 or later. To enable 64-bit in your project, we recommend using the default Xcode build setting of “Standard architectures” to build a single binary with both 32-bit and 64-bit code.

See: https://developer.apple.com/news/?id=10202014a

Corona SDK is built with iOS 8.1 as the base SDK.

Actually, this is alarming. I just made a build using Pro and the app is rejected for the same reason??
Has anyone had this problem before? Maybe I just should update my Corona

Yes, that’s the requirement but built with 8.1SDK and supporting arm 64 doesn’t necessarily mean it can’t support older OS unless your app requires 8.1SDK specific features/API

Yup,
I just confirmed this with the latest build 2511 (Pro) -> I’m using Pro cause that should be a safe bet to build an app right?,  no need to check/set what SDK/minimum OS supported 

I made a build and try to upload it and it still gave me : “The bundle XXXX.app does not support the minimum OS Version specified in info.plist”

*edit : I just googled and found that this is a common problem and it seems there should be something fixed on Corona’s end to make it work (it’s not entirely on Apple’s end).

 
http://support.gamebuilderstudio.com/discussion/157/app-store-submission-for-ios-8-broken/p1

Can you build the Hello World sample with your release credentials for your app and see what happens?  We may need you to file a bug report on this.

Rob

The problem seems to be that your Info.plist has the min version set to 5.0 instead of 6.0:

<key>MinimumOSVersion</key>
<string>5.0.0</string>

Currently (and for awhile now), Corona is setting the min version to 6.0, so there seems to be something different in your project (perhaps in build.settings?) that’s overriding Corona defaults. 

As Rob suggests, do you see the problem with pristine (unmodified) samples?

For example, as an insanity check, I just did a build with CoronaEnterprise (2511) using a fresh/pristine sample:

CoronaEnterprise/ProjectTemplates/App/ios/App.xcodeproj

and after I do a build, the output .app bundle does indeed have the correct 6.0 min version set in the Info.plist:

<key>MinimumOSVersion</key>
<string>6.0.0</string>

Yeah,
I havent really tested it but I think I found the culprit, it’s probably what’s written on the build.settings file which I thought is ignored when you make a build with XCode.

I’m still not near my computer right now but I’m quite positive that might be the issue.

Hmm…

So apparently it is the build settings that causes the problem. After removing the minimumOSVersion from the build.settings now I can make a build using the Pro and it uploaded just fine.

There is one problem with my Enterprise though, now I can’t build from XCode and keep getting this message : 

UD3tN6A.png

Can someone tell me what is this about? Seems like it’s failed to sign but everything in my XCode seems to be good regarding which profile and code sign parameters (I haven’t changed anything yet)

Thanks and sorry for the lengthy questions

Hi @yanuar,

Can you please post the contents of your “plist” block from build.settings so we can inspect?

Thanks,

Brent

Hmm… which one is this “plist” block are we talking about here? 
Are we talking about the “Build Settings” section on Xcode?

Anyway, here are my build settings section block that I think worth to check but let me know if there’s anything specific to look at:

dWbywyd.jpg

V4apwKn.png

Hi @yanuar,

You mentioned a plist “DTXPlatformVersion” but I don’t see that in your screenshots. Where is that located?

It’s located in the actual plist file that comes with the app (shown below). I believe there are some keys that were automatically generated by XCode.

\<?xml version="1.0" encoding="UTF-8"?\> \<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"\> \<plist version="1.0"\> \<dict\> \<key\>BuildMachineOSBuild\</key\> \<string\>14B25\</string\> \<key\>CFBundleDevelopmentRegion\</key\> \<string\>en\</string\> \<key\>CFBundleDisplayName\</key\> \<string\>KungFuQuest\</string\> \<key\>CFBundleExecutable\</key\> \<string\>App\</string\> \<key\>CFBundleIconFile\</key\> \<string\>Icon.png\</string\> \<key\>CFBundleIconFiles\</key\> \<array\> \<string\>Icon.png\</string\> \<string\>Icon@2x.png\</string\> \<string\>Icon-Small-40.png\</string\> \<string\>Icon-Small-40@2x.png\</string\> \<string\>Icon-60.png\</string\> \<string\>Icon-60@2x.png\</string\> \<string\>Icon-72.png\</string\> \<string\>Icon-72@2x.png\</string\> \<string\>Icon-76.png\</string\> \<string\>Icon-76@2x.png\</string\> \<string\>Icon-Small-50.png\</string\> \<string\>Icon-Small-50@2x.png\</string\> \<string\>Icon-Small.png\</string\> \<string\>Icon-Small@2x.png\</string\> \</array\> \<key\>CFBundleIdentifier\</key\> \<string\>com.iplayalldaystudio.kungfuquestthejadetower\</string\> \<key\>CFBundleInfoDictionaryVersion\</key\> \<string\>6.0\</string\> \<key\>CFBundleName\</key\> \<string\>KungFu Quest\</string\> \<key\>CFBundlePackageType\</key\> \<string\>APPL\</string\> \<key\>CFBundleShortVersionString\</key\> \<string\>1.6\</string\> \<key\>CFBundleSignature\</key\> \<string\>????\</string\> \<key\>CFBundleSupportedPlatforms\</key\> \<array\> \<string\>iPhoneOS\</string\> \</array\> \<key\>CFBundleVersion\</key\> \<string\>1.6\</string\> \<key\>CoronaUseIOS6LandscapeOnlyWorkaround\</key\> \<true/\> \<key\>CoronaViewSupportedInterfaceOrientations\</key\> \<array\> \<string\>UIInterfaceOrientationLandscapeRight\</string\> \<string\>UIInterfaceOrientationLandscapeLeft\</string\> \</array\> \<key\>DTCompiler\</key\> \<string\>com.apple.compilers.llvm.clang.1\_0\</string\> \<key\>DTPlatformBuild\</key\> \<string\>12B411\</string\> \<key\>DTPlatformName\</key\> \<string\>iphoneos\</string\> \<key\>DTPlatformVersion\</key\> \<string\>8.1\</string\> \<key\>DTSDKBuild\</key\> \<string\>12B411\</string\> \<key\>DTSDKName\</key\> \<string\>iphoneos8.1\</string\> \<key\>DTXcode\</key\> \<string\>0610\</string\> \<key\>DTXcodeBuild\</key\> \<string\>6A1052d\</string\> \<key\>LSApplicationCategoryType\</key\> \<string\>public.app-category.action-games\</string\> \<key\>LSMinimumSystemVersion\</key\> \<string\>6.0\</string\> \<key\>LSRequiresIPhoneOS\</key\> \<true/\> \<key\>MinimumOSVersion\</key\> \<string\>5.0.0\</string\> \<key\>NSMainNibFile\</key\> \<string\>MainWindow\</string\> \<key\>NSMainNibFile~ipad\</key\> \<string\>MainWindow-iPad\</string\> \<key\>UIAppFonts\</key\> \<array\> \<string\>Manga.ttf\</string\> \<string\>Doctor Jekyll NF.ttf\</string\> \<string\>Gang of Three.ttf\</string\> \<string\>Armor Piercing.ttf\</string\> \</array\> \<key\>UIDeviceFamily\</key\> \<array\> \<integer\>1\</integer\> \<integer\>2\</integer\> \</array\> \<key\>UIInterfaceOrientation\</key\> \<string\>UIInterfaceOrientationLandscapeRight\</string\> \<key\>UIPrerenderedIcon\</key\> \<true/\> \<key\>UIRequiredDeviceCapabilities\</key\> \<array\> \<string\>armv7\</string\> \<string\>front-facing-camera\</string\> \<string\>gamekit\</string\> \</array\> \<key\>UIStatusBarHidden\</key\> \<true/\> \<key\>UIStatusBarStyle\</key\> \<string\>UIStatusBarStyleBlackTranslucent\</string\> \<key\>UISupportedInterfaceOrientations\</key\> \<array\> \<string\>UIInterfaceOrientationLandscapeRight\</string\> \<string\>UIInterfaceOrientationLandscapeLeft\</string\> \</array\> \<key\>UISupportedInterfaceOrientations~ipad\</key\> \<array\> \<string\>UIInterfaceOrientationLandscapeLeft\</string\> \<string\>UIInterfaceOrientationLandscapeRight\</string\> \</array\> \</dict\> \</plist\>

Nobody has this problem before? I used the App template that comes with the Enterprise package and barely change anything on it (I just move the entire Corona folder and add some libraries for the plugins).