What's new in V7.1.0 interim fixes

Interim fixes provide patches and updates to correct problems and keep IBM MobileFirst™ Platform Foundation current for new releases of mobile operating systems.

Interim fixes are cumulative. When you download the latest V7.1.0 interim fix, you get all of the fixes from earlier interim fixes.

Download and install the latest interim fix to obtain all of the fixes that are described in the following sections. If you install earlier fixes, you might not get all of the fixes described here.

Where an APAR number is listed, you can confirm that an interim fix has that feature by searching the interim fix README file for that APAR number.

Token licensing (APAR PI48649)

Token licensing was introduced with interim fix 7.1.0.0-MFPF-IF201509132345 and is also included when you download IBM MobileFirst Platform Foundation V7.1.0 from Passport Advantage® after 15 September 2015.

Token licensing overview

Interim fixes 7.1.0.0-MFPF-IF201509132345 and later provide IBM MobileFirst Platform Foundation with an alternative licensing method that is based on tokens.

In a token environment, every product consumes a predefined token value per license. Licensing is handled by a license server that has a pool of tokens from which the license server calculates the tokens that are checked in and checked out. Tokens are either consumed or released when a product checks in or checks out licenses from the license server (Rational® License Key Server).

Your product contract defines whether you must use token licensing or not. The contract defines the number of tokens available and the features that are validated by tokens. If you purchased token licenses, you must install a version of MobileFirst Server that supports token licensing and also configure your application server so that it communicates with the remote license server.

For each application, you must specify the license app type in the application descriptor before deployment. The license app type can be NON_PRODUCTION, APPLICATION, or ADDITIONAL_BRAND_DEPLOYMENT.

Important:
  • You cannot activate token licensing in IBM MobileFirst Platform Foundation V7.1.0 and any interim fixes that are delivered before 14 September 2015. If the graphic mode installation does not display the Token Licensing panel, or if the silent installation with imcl does not confirm that token licensing is activated, then token licensing is not activated. The installation is then not compliant with token licensing. You must download IBM MobileFirst Platform Foundation V7.1.0 from Passport Advantage after 15 September 2015, or download and apply interim fix 7.1.0.0-MFPF-IF201509132345 or later.
  • Rational License Key Server 8.1.4.8 or later must be installed and configured. For more information, see Rational License Key Server Portal.
  • Make sure that the license keys for IBM MobileFirst Platform Foundation are generated. For more information about generating and managing your license keys with IBM® Rational License Key Center, see IBM Support - Licensing.

Token licensing in MobileFirst Platform Patterns (APAR PI49322)

Token licensing support for MobileFirst Platform Patterns on IBM PureApplication® System does not use the shared service for IBM Rational License Key Server. Token licensing for the patterns depends on a Rational License Key Server external to your PureApplication System.

The MobileFirst Platform (WAS ND) pattern template does not support token licensing. If you want to use this pattern, you must use perpetual licensing.

All other patterns support token licensing.

iOS 9 support

If you use Xcode 7 to compile your apps, or if you use extended authenticity protection for your apps, install the latest interim fix and review the following sections to ensure that your apps continue to work on iOS 9.

If you build your apps with Xcode 6.4 and do not use extended authenticity protection, you can rebuild your apps with iOS 9 support without installing the latest IBM MobileFirst Platform Foundation interim fix.

Extended authenticity checking for apps that undergo app thinning

App thinning was introduced by Apple in iOS 9 for apps that are compiled with Xcode 7. App thinning reduces the size of files that are downloaded from the App Store. The feature might affect the extended authenticity features of IBM MobileFirst Platform Foundation apps because the binary file in the App Store might differ from the one that is downloaded to the client device.

After you apply latest interim fix, the app thinning feature is available for any app that uses iOS 9 and later and Xcode 7 and later and that was created by using IBM MobileFirst Platform Foundation V7.0.0 and later.

For more information, see Enabling extended authenticity checking for apps that undergo app thinning.

Disabling bitcode-enabled Xcode builds

Starting with Xcode 7, bitcode is a default, but optional option for iOS apps. The bitcode option is not currently supported in IBM MobileFirst Platform Foundation. To use the MobileFirst SDK in any project that uses Xcode 7, you must disable bitcode.

Applications that are based on Apple watchOS 2 require the bitcode to be enabled and are currently not supported in IBM MobileFirst Platform Foundation.

For more information, see Disabling bitcode in Xcode builds.

Support for dynamic .tbd libraries in Xcode 7

Xcode 7 replaces dynamic .dylib libraries with more lightweight .tbd files. Up to now, IBM MobileFirst Platform Foundation projects link with .dylib libraries such as: libc++.dylib, libstdc.dylib, and libz.dylib. These libraries must be replaced with the corresponding .tbd libraries.

For guidelines, see the following topics:

Enforcing TLS-secure connections in iOS apps

Apple's App Transport Security (ATS) is a new feature of iOS 9 that enforces best practices for connections between the app and the server. By default, this feature enforces some connection requirements that improve security. These include client-side HTTPS requests and server-side certificates and connection ciphers that conform to Transport Layer Security (TLS) version 1.2 using forward secrecy.

For development purposes, you can override the default behavior by specifying an exception in the Info.plist file in your app. However, in a full production environment, all iOS apps must enforce TLS-secure connections for them to work properly.

By applying the latest interim fix, the apps that you develop in IBM MobileFirst Platform Foundation V6.0.0 and later automatically turn off transport security to allow all non-secure connections to the MobileFirst Development Server.

For more information, see Enforcing TLS-secure connections in iOS apps.

Android 6.0 Marshmallow support

Android 6.0 Marshmallow introduces a number of changes that might require you to install the latest IBM MobileFirst Platform Foundation interim fix for your app to work on Android 6.0.

Review the following sections to learn about changes in Android that might affect your apps and determine whether you need to install the latest interim fix for your app to support Android 6.0 Marshmallow.

Allowing runtime access to location services in Android 6.0 Marshmallow

In Android 6.0 Marshmallow and later, geo acquisition (location) permissions also require runtime permissions.

According to the new model, in addition to defining permissions at installation, users must allow or deny access to different features at runtime. Before an app accesses location services, it must check whether permission has already been granted and, if needed, request permission. Developers are responsible to perform the check before the app accesses any of the following methods in the WLDevice interface:

  • startAcquisition
  • acquireGeoPosition
  • stopAcquisition

For more information, see Allowing runtime access to location services starting from Android 6.0 Marshmallow.

Preventing Android 6.0 Marshmallow automatic backup of MobileFirst data

By default, app data on devices that are running under Android 6.0 Marshmallow is automatically backed up to Google Drive.

The MobileFirst SDK holds app web resources, logs, and some other artifacts that are stored on the device. The volume of this data is potentially large and even if deleted can be easily recovered. Thus, there is no need for it to be backed up.

By applying latest interim fix, you can prevent most of the MobileFirst SDK internal data from being backed up to Google Drive.

Note: After you apply the interim fix, some artifacts, for example residual logs might still be backed up to Google Drive.

Continued support of Apache HTTP client

Android 6.0 Marshmallow removes support for Apache HTTP client. However, by applying the latest interim fix, you can continue to use the MobileFirst APIs that expose org.apache.http.* classes.

The SDK stubs are available in IBM MobileFirst Platform Foundation V7.0 and later.

Apache Cordova

The requirements of Apache Cordova might be updated as new versions of the platform SDKs are released.

Added support for Android SDK version 23 permissions (APAR PI61332)

Applications can target Android SDK version 23 and request permissions at run time. The following core Cordova plug-ins that are provided with the IBM MobileFirst Platform Foundation version 7.1 were updated to support the new permission handling:
  • Camera
  • Contacts
  • File
  • Media
  • Media-capture

Third-party Cordova plug-ins that request permissions must be updated to use the new permission model. In addition to updating the third-party Cordova plug-ins, you must add the PermissionHelper.java file to your project that uses the new permission handling.

For the file update levels, see Product components. For the procedure that is required to update your plug-ins, see Enabling a Cordova app to support Android SDK version 23 permissions .

Extra steps are required when you prepare a IBM MobileFirst Platform Foundation Cordova app with the camera plug-in for the Android platform (APAR PI73910)

Starting with Android N, a file URI can be accessed only by the same app. This access restriction causes a FileUriExposedException when you use the Cordova camera plug-in on the Android platform. The camera app of the device passes the URI of a photo to the camera plug-in, but the plug-in cannot access the photo. Cordova provides a solution for this restriction that requires extra setup steps so the camera plug-in can access the URI of the photo.

If you require the Cordova camera plug-in for your Android platform app, you must complete the steps in Preparing a project that uses the Cordova camera plug-in with the Android platform.

New features in the MobileFirst Analytics Console

If you are using the latest interim fix of IBM MobileFirst Platform Foundation, you can use the new features in the MobileFirst Analytics Console.

Alert definitions with thresholds (APAR PI50260)

You can set thresholds in alert definitions in the MobileFirst Analytics Console to better monitor your activities.

For more information, see Alerts.

Exporting and importing custom chart definitions (APAR PI50263)

You can export and import your custom chart definitions programmatically or in the MobileFirst Analytics Console.

For more information, see Exporting and importing custom chart definitions.

Application crash analytics (APAR PI53648)

You can quickly see information about your application crashes in the Dashboard page of the MobileFirst Analytics Console. Two new charts are available: Crash Overview and Crashes.

For more information, see Application crash monitoring.

To better administer your apps, you can view app crash analytics. In the Dashboard page of the MobileFirst Analytics Console, a Crash Summary tab is available.

For more information, see Application crash troubleshooting.

You can create an alert definition to receive an alert when the number of app crashes or the crash rate for your applications exceeds your defined threshold.

For more information, see Creating an alert definition for application crashes.

IBM MobileFirst Platform Foundation on IBM Containers

In addition to the evaluation version of IBM MobileFirst Platform Foundation on IBM Containers released for V7.1 (available from IBM developerWorks®), IBM MobileFirst Platform Foundation on IBM Containers is now available for production use with the interim fix update available on the IBM Passport Advantage site.

The interim fix for APAR PI55391 on Fix Central, applied to IBM MobileFirst Platform Foundation on IBM Containers V7.1 (available from IBM Passport Advantage site) supports IBM MobileFirst Platform Foundation to be deployed on container groups.

For details on applying the interim fix refer to Applying IBM MobileFirst Platform Foundation interim fixes in an IBM Containers environment.

Note: The updated Prerequisites section in IBM MobileFirst Platform Foundation on IBM Containers is applicable for IBM MobileFirst Platform Foundation on IBM Containers with the interim fix for APAR PI55391.

Learn more about Deploying to the cloud in an IBM Container.

JSONStore framework for MobileFirst iOS applications (APAR PI50359)

After you install the latest interim fix of IBM MobileFirst Platform Foundation, JSONStore becomes an optional feature for native MobileFirst iOS applications. To upgrade your hybrid iOS applications from a previous version, you must complete some additional steps.

JSONStore framework for native MobileFirst iOS applications

To use JSONStore in a native MobileFirst iOS application, you must import the <IBMMobileFirstPlatformFoundationJSONStore/IBMMobileFirstPlatformFoundationJSONStore.h> umbrella header file. You can obtain the JSONStore feature in two ways:

For more information about creating native MobileFirst iOS applications, see Developing native applications for iOS.

CloudantToolkit and IMFData frameworks are deprecated

iOSUse the CDTDatastore SDK as a replacement for CloudantToolkit and IMFData frameworks.

AndroidUse the Cloudant Sync Android SDK as a replacement for CloudantToolkit and IMFData frameworks. With Cloudant Sync, you can persist data locally and replicate with a remote data store.

If you want to access remote stores directly, use REST calls in your application and refer to the Cloudant API Reference.

For more information about how to use Cloudant Sync in your mobile apps, see Storing mobile data in Cloudant.

Accessibility enhancements

Accessibility improvements were made to the IBM MobileFirst Platform Command Line Interface and to the technical documentation.

IBM MobileFirst Platform Command Line Interface

To improve accessibility, a --no-color option that suppresses the use of varying text colors was added to the IBM MobileFirst Platform Command Line Interface. For more information, see CLI commands usage.

To install and configure the product without graphical user interface, see Accessibility of IBM MobileFirst Platform Foundation installation and configuration. For more information about the accessibility features, see Accessibility.

Technical documentation

The IBM MobileFirst Platform Foundation documentation is accessible when you are using screen reading software. The IBM Knowledge Center documentation is hosted in the IBM Knowledge Center - Hosted Edition service. To request the current accessibility status for the IBM Knowledge Center - Hosted Edition service, see IBM Product Accessibility information and select the entry for IBM Knowledge Center - Hosted Edition.

Enhanced instructions for upgrading MobileFirst Server to V7.1.0

LDAP login module changes

The LDAPLoginModule class was modified to add a searchUniqueUser validationType configuration-parameter value, and the following related configuration parameters were added: ldapSearchUserName, ldapSearchPassword, ldapUseAttributeToExtract, and ldapAttributeToExtract. For more information, see searchUniqueUser.

IBM WebSphere DataPower integration enhancements

The support for integrating with IBM WebSphere® DataPower® as a reverse proxy and security gateway was improved. A preconfigured DataPower pattern, related MobileFirst samples, and detailed documentation for integrating with DataPower by using LTPA and DataPower HTML forms-based authentication are provided. For more information, see Integrating with DataPower as a reverse proxy using LTPA and form-based authentication.

IBM Trusteer integration enhancements (APAR PI67861)

It is now possible to disable the automatic initialization of IBM Trusteer Mobile SDK instances that are integrated with MobileFirst projects. When the automatic initialization is disabled, you can initialize the Trusteer Mobile SDK manually by using either the Trusteer Mobile SDK or the MobileFirst client-side API. For more information, see Integrating IBM Trusteer® for iOS and Integrating IBM Trusteer for Android.

IBM MobileFirst Platform Foundation on IBM Containers

IBM MobileFirst Platform Foundation on IBM Containers now supports enterprise dashDB database on IBM Bluemix.
Important: Enterprise Transactional Plans that support OLTP workloads are the only supported dashDB plans.
Note: See prerequisites for deploying IBM MobileFirst Platform Foundation on IBM Containers.

Learn more about Deploying to the cloud in an IBM Container.