How to change requirements for Minimum version of iOS in AppStore

I’ve been asked to set the minimum supported iOS version to 12 for one of my games. Is this still not possible?

If you want to change it just for the end-user, pls add these two lines into plist:

        <key>MinimumOSVersion</key>
        <string>12.0</string>

This topic is about NE and some limitations, not about the minimum iOS version for the end-user.

3 Likes

Ah, great. Thanks @AGulev!

Edit 1: I copied and pasted the built in Info.plist and changed the 8.0 to 12.0. Testflight didn’t like it:

ERROR ITMS-90474: "Invalid Bundle. iPad Multitasking support requires these orientations: 'UIInterfaceOrientationPortrait,UIInterfaceOrientationPortraitUpsideDown,UIInterfaceOrientationLandscapeLeft,UIInterfaceOrientationLandscapeRight'. Found 'UIInterfaceOrientationPortrait' in bundle 'com.WinkelGames.Juump'."

ERROR ITMS-90475: "Invalid Bundle. Your app supports Multitasking on iPad, so you must include the UILaunchStoryboardName key in your bundle, 'com.WinkelGames.Juump’. Learn more (https://developer.apple.com/library/content/documentation/General/Reference/InfoPlistKeyReference/Articles/iPhoneOSKeys.html#//apple_ref/doc/uid/TP40009252-SW40)."

WARNING ITMS-90747: "Architecture incompatible with MinimumOSVersion. The app bundle at 'JUUMP!.app' specifies a MinimumOSVersion of '12.0' but contains a 32-bit architecture that is unsupported on iOS 12 and later."

I suspect I need to instead use Custom Entitlements, something I haven’t been able to get to work before when adding the ITSAppUsesNonExemptEncryption key.

Using this file as Custom Entitlements:

<?xml version="1.0"?>
<!DOCTYPE plist SYSTEM "file://localhost/System/Library/DTDs/PropertyList.dtd">
<plist version="1.0">
    <dict>
        <key>MinimumOSVersion</key>
        <string>12.0</string>
        <key>ITSAppUsesNonExemptEncryption</key>
        <false/>
    </dict>
</plist>

Produces this error:

If using the custom entitlement file is indeed the ticket to success, how should it be formatted? If not, what’s the solution?

Edit 2: I think a fake extension is the only solution:

First of all, you need to add these two lines into plist not Entitlements.

  1. Find info.plist for iOS in Builtins folder
  2. Copy/paste it in your project (anywhere outside of Builtins)
  3. Change link to your plist in game.project

After these steps, you will be able to change plist and add your changes there.

Now about your errors/warnings (actually there is enough information about “what to do” ^____^ ):

Just turn off 32-bit architecture when you bundle iOS (the reason is in message).

Add the following tag into your plist:

<key>UIRequiresFullScreen</key>
<true/>
3 Likes

Thanks, will give that a spin tomorrow!

Edit: Testflight accepted the .ipa, after adding this additional key:

<key>UIRequiredDeviceCapabilities</key>
<array>
	...
	<string>arm64</string>
</array>

The next hurdle is this email received shortly after:

Any idea what the value should be here?

2 Likes

Here is a topic that should help you with ITMS-90713:

Thanks @AGulev. I added this key to the Info.plist:

<key>CFBundleIconName</key>
<string>AppIcon</string>

Unfortunately the error came back the same. What to try next?!

Here is the entire Info.plist just in case:

<?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>13A603</string>
        <key>CFBundleDevelopmentRegion</key>
        <string>{{ios.default_language}}</string>
        <key>CFBundleDisplayName</key>
        <string>{{project.title}}</string>
        <key>CFBundleExecutable</key>
        <string>{{exe-name}}</string>
        <key>CFBundleIconFiles</key>
        <array>
                <string>Icon-167.png</string>
                <string>Icon-60@3x.png</string>
                <string>Icon-60@2x.png</string>
                <string>Icon-76@2x.png</string>
                <string>Icon-76.png</string>
                <string>Icon@2x.png</string>
                <string>Icon.png</string>
                <string>Icon-72@2x.png</string>
                <string>Icon-72.png</string>
        </array>
        <key>CFBundleIcons</key>
        <dict>
                <key>CFBundlePrimaryIcon</key>
                <dict>
                        <key>CFBundleIconFiles</key>
                        <array>
                                <string>Icon-167.png</string>
                                <string>Icon-60@3x.png</string>
                                <string>Icon-60@2x.png</string>
                                <string>Icon-76@2x.png</string>
                                <string>Icon-76.png</string>
                                <string>Icon@2x.png</string>
                                <string>Icon.png</string>
                                <string>Icon-72@2x.png</string>
                                <string>Icon-72.png</string>
                        </array>
                        <key>UIPrerenderedIcon</key>
                        <{{ios.pre_renderered_icons}}/>
                </dict>
        </dict>
        <key>CFBundleIdentifier</key>
        <string>{{ios.bundle_identifier}}</string>
        <key>CFBundleInfoDictionaryVersion</key>
        <string>6.0</string>
        <key>CFBundleName</key>
        <string>dmengine</string>
        <key>CFBundlePackageType</key>
        <string>APPL</string>
        <key>CFBundleShortVersionString</key>
        <string>{{project.version}}</string>
        <key>CFBundleSignature</key>
        <string>????</string>
        <key>CFBundleSupportedPlatforms</key>
        <array>
                <string>iPhoneOS</string>
        </array>
        <key>CFBundleVersion</key>
        <string>{{project.version}}</string>
        <key>DTCompiler</key>
        <string>com.apple.compilers.llvm.clang.1_0</string>
        <key>DTPlatformBuild</key>
        <string>16B91</string>
        <key>DTPlatformName</key>
        <string>iphoneos</string>
        <key>DTPlatformVersion</key>
        <string>12.0</string>
        <key>DTSDKBuild</key>
        <string>16B91</string>
        <key>DTSDKName</key>
        <string>iphoneos12.1</string>
        <key>DTXcode</key>
        <string>1010</string>
        <key>DTXcodeBuild</key>
        <string>10B61</string>
        <key>UIFileSharingEnabled</key>
        <{{project.write_log}}/>
        <key>LSRequiresIPhoneOS</key>
        <true/>
        <key>UIDeviceFamily</key>
        <array>
                <integer>1</integer>
                <integer>2</integer>
        </array>
        <key>UIStatusBarHidden</key>
        <true/>
        <key>UIViewControllerBasedStatusBarAppearance</key>
        <false/>
        <key>UIRequiredDeviceCapabilities</key>
        <array>
                <string>arm64</string>
                <string>armv7</string>
                <string>opengles-2</string>
        </array>
        <key>CFBundleLocalizations</key>
        <array>{{#application-localizations}}
            <string>{{.}}</string>{{/application-localizations}}
        </array>
        <key>UISupportedInterfaceOrientations</key>
        <array> {{#orientation-support}}
                <string>UIInterfaceOrientation{{.}}</string>{{/orientation-support}}
        </array>
        <key>UISupportedInterfaceOrientations~ipad</key>
        <array> {{#orientation-support}}
                <string>UIInterfaceOrientation{{.}}</string>{{/orientation-support}}
        </array>

        <key>CFBundleURLTypes</key>
        <array>
        </array>

        <key>LSApplicationQueriesSchemes</key>
        <array>
                {{#application-queries-schemes}}<string>{{.}}</string>{{/application-queries-schemes}}
        </array>

        <key>UILaunchImages</key>
        <array>
                <dict>
                    <key>UILaunchImageMinimumOSVersion</key>
                    <string>12.0</string>
                    <key>UILaunchImageName</key>
                    <string>Default</string>
                    <key>UILaunchImageOrientation</key>
                    <string>Portrait</string>
                    <key>UILaunchImageSize</key>
                    <string>{320, 480}</string>
                </dict>
                <dict>
                    <key>UILaunchImageMinimumOSVersion</key>
                    <string>12.0</string>
                    <key>UILaunchImageName</key>
                    <string>Default</string>
                    <key>UILaunchImageOrientation</key>
                    <string>Landscape</string>
                    <key>UILaunchImageSize</key>
                    <string>{320, 480}</string>
                </dict>
                <dict>
                    <key>UILaunchImageMinimumOSVersion</key>
                    <string>12.0</string>
                    <key>UILaunchImageName</key>
                    <string>Default-568h</string>
                    <key>UILaunchImageOrientation</key>
                    <string>Portrait</string>
                    <key>UILaunchImageSize</key>
                    <string>{320, 568}</string>
                </dict>
                <dict>
                    <key>UILaunchImageMinimumOSVersion</key>
                    <string>12.0</string>
                    <key>UILaunchImageName</key>
                    <string>Default-568h</string>
                    <key>UILaunchImageOrientation</key>
                    <string>Landscape</string>
                    <key>UILaunchImageSize</key>
                    <string>{320, 568}</string>
                </dict>
                <dict>
                    <key>UILaunchImageMinimumOSVersion</key>
                    <string>12.0</string>
                    <key>UILaunchImageName</key>
                    <string>Default-Portrait-667h</string>
                    <key>UILaunchImageOrientation</key>
                    <string>Portrait</string>
                    <key>UILaunchImageSize</key>
                    <string>{375, 667}</string>
                </dict>
                <dict>
                    <key>UILaunchImageMinimumOSVersion</key>
                    <string>12.0</string>
                    <key>UILaunchImageName</key>
                    <string>Default-Landscape-667h</string>
                    <key>UILaunchImageOrientation</key>
                    <string>Landscape</string>
                    <key>UILaunchImageSize</key>
                    <string>{375, 667}</string>
                </dict>
                <dict>
                    <key>UILaunchImageMinimumOSVersion</key>
                    <string>12.0</string>
                    <key>UILaunchImageName</key>
                    <string>Default-Portrait-736h</string>
                    <key>UILaunchImageOrientation</key>
                    <string>Portrait</string>
                    <key>UILaunchImageSize</key>
                    <string>{414, 736}</string>
                </dict>
                <dict>
                    <key>UILaunchImageMinimumOSVersion</key>
                    <string>12.0</string>
                    <key>UILaunchImageName</key>
                    <string>Default-Landscape-736h</string>
                    <key>UILaunchImageOrientation</key>
                    <string>Landscape</string>
                    <key>UILaunchImageSize</key>
                    <string>{414, 736}</string>
                </dict>
                <dict>
                    <key>UILaunchImageMinimumOSVersion</key>
                    <string>12.0</string>
                    <key>UILaunchImageName</key>
                    <string>Default-Portrait-1024h</string>
                    <key>UILaunchImageOrientation</key>
                    <string>Portrait</string>
                    <key>UILaunchImageSize</key>
                    <string>{768, 1024}</string>
                </dict>
                <dict>
                    <key>UILaunchImageMinimumOSVersion</key>
                    <string>12.0</string>
                    <key>UILaunchImageName</key>
                    <string>Default-Landscape-1024h</string>
                    <key>UILaunchImageOrientation</key>
                    <string>Landscape</string>
                    <key>UILaunchImageSize</key>
                    <string>{768, 1024}</string>
                </dict>
                <dict>
                    <key>UILaunchImageMinimumOSVersion</key>
                    <string>12.0</string>
                    <key>UILaunchImageName</key>
                    <string>Default-Portrait-1112h</string>
                    <key>UILaunchImageOrientation</key>
                    <string>Portrait</string>
                    <key>UILaunchImageSize</key>
                    <string>{834,1112}</string>
                </dict>
                <dict>
                    <key>UILaunchImageMinimumOSVersion</key>
                    <string>12.0</string>
                    <key>UILaunchImageName</key>
                    <string>Default-Landscape-1112h</string>
                    <key>UILaunchImageOrientation</key>
                    <string>Landscape</string>
                    <key>UILaunchImageSize</key>
                    <string>{834,1112}</string>
                </dict>
                <dict>
                    <key>UILaunchImageMinimumOSVersion</key>
                    <string>12.0</string>
                    <key>UILaunchImageName</key>
                    <string>Default-Portrait-1366h</string>
                    <key>UILaunchImageOrientation</key>
                    <string>Portrait</string>
                    <key>UILaunchImageSize</key>
                    <string>{1024,1366}</string>
                </dict>
                <dict>
                    <key>UILaunchImageMinimumOSVersion</key>
                    <string>12.0</string>
                    <key>UILaunchImageName</key>
                    <string>Default-Landscape-1366h</string>
                    <key>UILaunchImageOrientation</key>
                    <string>Landscape</string>
                    <key>UILaunchImageSize</key>
                    <string>{1024,1366}</string>
                </dict>
                <dict>
                    <key>UILaunchImageMinimumOSVersion</key>
                    <string>12.0</string>
                    <key>UILaunchImageName</key>
                    <string>Default-Portrait-812h</string>
                    <key>UILaunchImageOrientation</key>
                    <string>Portrait</string>
                    <key>UILaunchImageSize</key>
                    <string>{375, 812}</string>
                </dict>
                <dict>
                    <key>UILaunchImageMinimumOSVersion</key>
                    <string>12.0</string>
                    <key>UILaunchImageName</key>
                    <string>Default-Landscape-812h</string>
                    <key>UILaunchImageOrientation</key>
                    <string>Landscape</string>
                    <key>UILaunchImageSize</key>
                    <string>{375, 812}</string>
                </dict>
        </array>
        <key>ITSAppUsesNonExemptEncryption</key>
        <false/>
        <key>MinimumOSVersion</key>
        <string>12.0</string>
        <key>UIRequiresFullScreen</key>
        <true/>
        <key>CFBundleIconName</key>
        <string>AppIcon</string>
</dict>
</plist>

Unfortunately, I can’t check everything myself but pls, take a look this link:


Also, this instruction may be useful for you:

Blimey, I really did open a can of worms. REVERT! I may come back to this at a later date. Thanks for all your help @AGulev.