Skip to main content

Submitting iOS applications to the App Store starting April 2018

OutSystems

Submitting iOS applications to the App Store starting April 2018

Apple recently announced all new applications in the Apple Store will need to be published using iOS SDK 11 from April onward. As a result, we will be making changes to some platform components.

What will change?

  • iOS builds will now be done using XCode 9. Consequently:

    • iOS SDK 11

    • Swift 3 and 4

  • Silk UI Mobile will be updated to support iPhone X safe areas in line with Human Interface Guidelines for iPhone X

  • If you’re using custom application icons and/or custom splash screens, there are new resolutions for iPhone X that will be required and mandatory. If you don’t update these icons and splash screens, your iOS mobile application will not build.

What do you need to do?

  • Update Silk UI Mobile on your applications to prepare them for full iPhone X UI consistency

  • From March 28 on:

    • If you are using custom application icons, add the new icon resolutions:

      • 20x20

      • 48x48

      • 55x55

      • 60x60

      • 88x88

      • 172x172

      • 196x196

      • 1024x1024

    • If you are using custom splash screens, add the new splash screen resolutions:

      • 1125px × 2436px (portrait)

      • 2436px × 1125px (landscape)

    • Update custom or community built iOS plugins you may be using in your applications to make sure they are built with Swift 3 or 4 syntax. Older versions will not be compatible.

    • Upgrade the supported plugins you’re using because some will be revised for compatibility.

    • Generate your mobile applications and publish them to the App Store.

 

These changes will enable you to continue publishing applications to the Apple App Store.

Why Is This Different From My Normal Operations?

 

Because we'll change the iOS stack, you'll need to review your custom-built plugins to make sure they are working with these new components. If you are using custom app icons and/or splash screens you will need to add the new resources with the required resolutions, or your iOS application will not build with an error message like this:

“There is a splash screen missing in your extensibility configuration with 100x100”

What if End-users Don't Update My Applications?

Like with any mobile store update, their devices will have this new version available in the App Store for updating over-the-air. However, if they can’t get updates to the new version (or if they choose not to), you need to:

  1. Make sure the code for new plugins you include is resilient to the missing plugins. Adding tests to Check<Plugin> before using functionality is a best practice you should consider.

  2. Make sure that changes to the APIs of the existing plugins are compatible and the application is resilient to both iOS and Android versions of those APIs.

What If I Don't Upgrade My Applications?

You'll miss out on completeness of support for newer Apple devices such as iPhone X and iOS 11 features, such as Face ID. However, applications will continue to run using the currently deployed version on the stores because we are not changing the way the applications run, just the technology used to build the native part of the application. Apple states that new applications need to be built using this new SDK; existing applications with older SDKs will be still available.

Current Mobile Build Stack

After this upgrade, your iOS applications will be generated with this new set of build components. Please use this list as a reference for maintaining your custom-built plugins. You can keep track of future changes to this stack in the MABS release notes.

For iOS:

  • XCode 9

  • iOS SDK 11 compatibility (from 8 to 11)

  • Cordova iOS - 4.3.1 (with iOS 11 support)*

For Android:

  • API Level 19 - 25

  • Cordova Android - Version 6.1.2

For Both:

  • Cordova CLI - 6.5.0

*This means that we'll be using a customized version of Cordova iOS 4.3.1, where we'll add some patches from newer Cordova versions without upgrading it yet.

  • Was this article helpful?