Compatibility tests for iOS 11 with supported MobileFirst Platform Foundation releases

Please refer our latest blog for the latest news on iOS11 compatibility with MobileFirst .

If you are an on-premise 7.1 or 8.0 customer or Mobile Foundation Service customer, then read further to learn about Mobile Foundation support for iOS 11 .

Apple announced iOS 11 during their annual WWDC2017 conference. This release of iOS includes many new user and developer oriented features. You can read more about all the new features in iOS 11 in this news bulletin.

iOS11

We have been testing the iOS11 beta with the latest being beta 3. We have verified various features of MobileFirst Platform Foundation on the iOS11 beta 3 for MobileFirst Platform Foundation v7.1 and v8.0. For reference, make sure to read through our support plan for Android O and iOS 11.

We encourage you to start testing your application(s) with iOS 11.

MobileFirst Platform Foundation Support for iOS 11(beta 3)

This blog details iOS 11 support in MobileFirst Platform v7.1 and v8.0, and the steps that developers and IT administrators might need to take.

Note: Applications that are built with IBM MobileFirst Platform Foundation v7.1 and v8.0 are supported on iOS 11 beta 3 build

Disclaimer: Some of the action items that are addressed in the list below are not under IBM’s control. Therefore, we expect developers and IT managers to ensure that their infrastructure is up-to-date according to Apple’s requirements.

Existing application

Existing application(s) that were created using MobileFirst Platform v7.1 and v8.0 will work on iOS 11 as they did on previous versions of iOS.

Updating application on the App Store (built using older Xcode)

You can opt to build application(s) with Xcode 8 (older Xcode) and republish to the App Store. These application(s) will work on iOS 11.

Updating existing application or submitting new application on the App Store (built using Xcode 9)

Review the following section to learn what actions you need to take so that your app can support iOS 11. These needs to be considered only if you are building the application(s) using new Xcode 9 build.

  • 64-bit Apps on iOS 11 - As Apple warned users with iOS 10.3, iOS 11 officially drops support for 32-bit applications. Any 32-bit app will refuse to launch and instead show an alert asking the developer to release a 64-bit update. Refer here. We highly encourage to migrate your existing apps to 64 bit.

  • Swift Apps on iOS11 - Xcode 9 build can build targets written in only Swift 4 or Swift 3. Xcode 9 can be used for migration to Swift 4, This can be easily done using the migration guide.

As per Apple, if your app is written in Swift, you can submit your apps to the App Store written in either Swift 3.0 or 2.3. We strongly encourage you to migrate your code to Swift 3. However, if you need to first update your code to Swift 2.3, you can run the Xcode 8 migrator later to move from 2.3 to 3.0. We have planned to check Swift 4.0 compatibility with MobileFirst Platform Foundation 7.1 and 8.0 in near future and will share the information in a separate post.

Compatibility tests with iOS 11 beta 3 have been performed for MobileFirst Platform Foundation 7.1 as well as MobileFirst Foundation 8.0 using an iPhone 6 that was upgraded from iOS 10.3.x to iOS 11 beta 3.

For the tests, XCode 9 beta 2 was used to compile native, hybrid and Cordova apps. For more details on Xcode 9 , refer Whats new in XCode9

Highlighted features that were tested are:

  • OAuth authorization flow
  • Adapters
  • JSONStore
  • Direct Update
  • Application Management
  • Application Authenticity
  • Analytics
  • Push Notifications
  • Remote Disable
  • Application Center

All the above features were validated to work on iOS 11 beta 3.

Known Issues

  • Starting with iOS 11, Apple has updated WebCrypto API in Safari 11 which is not compatible with the current MobileFirst API.Refer Whats New In Safari 11 for details.As a results, a web app consuming the Web SDK for MobileFirst will fail to launch on a device running on iOS 11. Updating to the latest version of IBM Web sdk will resolve this issue and can be downloaded from here.

  • Starting with iOS 11, Apple has updated behaviour around the status bar area which will be particularly important for developers using tools like Apache Cordova or Ionic. In particular, this change in behaviour affects any web-based apps that use fixed position header bars when they are built for iOS 11. Following issues were observed:

    • We observed UI contains white areas at the top and bottom of the screen when running on iPhone X simulator as below. iPhone X Ui Issue

    • As you scroll up, the content will move up behind the status bar. As you scroll down, it will again fall down below the status bar.A quick video to explain the issue and the fix is available below.

In the html file of the app set ‘ viewport-fit=cover’ in viewport meta tag.

 <meta name=“viewport” content=“user-scalable=no, initial-scale=1,viewport-fit=cover, maximum-scale=1, minimum-scale=1, width=device-width”> .

Also in the .css file add the padding as below under header .

header { /* …other header content.. */   padding-top: constant(safe-area-inset-top);  }

iOS11 compatibility tests are planned for following:

  • Live Update SDK
  • Mobile Foundation WatchOS framework with WatchOS4
Inclusive terminology note: The Mobile First Platform team is making changes to support the IBM® initiative to replace racially biased and other discriminatory language in our code and content with more inclusive language. While IBM values the use of inclusive language, terms that are outside of IBM's direct influence are sometimes required for the sake of maintaining user understanding. As other industry leaders join IBM in embracing the use of inclusive language, IBM will continue to update the documentation to reflect those changes.
Last modified on May 07, 2018