iOS > Advanced

SDK changelog

Change log and release notes for the Batch SDK. Any variances between Android, iOS, AIR, and Unity will be noted.

v1.10.4 - 10/11/2017

Download: iOS

  • Added [BatchMessaging presentViewController:], which takes care of showing a previously loaded BatchMessagingViewController in the most appropriate way.

    If you used [BatchMessaging loadViewControllerForMessage:error:] to display messages in manual mode, you should go to the messaging documentation to follow updated instructions: failure to do so will result in incorrect banner behaviour.

  • Added support for Smart Invert in Mobile Landings/In-App Messaging. Images won't be inverted anymore.

  • Added iPhone X support for Mobile Landings/In-App Messaging. Due to the new design constraints of the iPhone X's screen, interstitial messaging views will appear differently than they used to on all devices:

iOS Interstitial theme differences

  • [BatchMessaging loadViewControllerForMessage:error:] is now allowed in automatic mode.

  • Delay button handling in messaging views to until animations are over. This may have prevented deeplinks or custom actions from working properly, as UIKit does not support presenting a view controller while one is already animating.

  • Fix In-App Campaigns accidentally performing too much work on the main thread.

  • Fix a concurrency issue with In-App Campaigns which could very rarely cause a crash

v1.10.3 - 18/09/2017

  • Added a method on BatchInAppMessage, allowing you to fetch the visual content of the message. See BatchInAppMessage's content property for more info

v1.10.2 - 04/09/2017

  • Fixed a bug where overriding a bold font would not work proper for mobile landings
  • Various bugfixes

v1.10.1 - 16/08/2017

  • Removed the one minute minimum delay between two In-App campaign triggers
  • Fixed a bug where In-App Campaigns were sometimes not refreshed when coming back in foreground
  • Fixed a bug where In-App Campaigns failed to trigger on "Next Session"
  • Other bugfixes

v1.10.0 - 03/08/2017

  • Fixed issues found by the Main Thread Checker in Xcode 9
  • Introduced In-App Campaigns
  • Added a Do Not Disturb mode on BatchMessaging, allowing easier control of when landings will be shown

v1.9.0 - 08/06/2017

  • Added the Inbox module, allowing you to fetch previously received notifications from your code. More info: Inbox documentation

v1.8.0 - 27/04/2017

  • BREAKING CHANGE: Removed BatchAds and BatchUnlock methods and related classes.
  • Added BatchUser.trackLocation, allowing you to natively track user position updates
  • Deprecated Batch.isRunningInDevelopmentMode. It is useless, as DEV API Keys always start with "DEV"
  • Fix a temporary freeze when opening a push containing a deeplink when triggered by a UNUserNotification delegate
  • Fixed a memory leak with network requests
  • Rewrote documentation with a more modern syntax. Our API docs are now based on jazzy.

v1.7.4 - 02/02/2017

  • Fix a bug where the delegate set on BatchMessaging was never called.

v1.7.3 - 20/12/2016

  • A bug where landings and open rate tracking didn't work when coming from a cold start in some situations on iOS 10.1/10.2 was fixed. Apps implementing UNUserNotificationCenterDelegate or the "fetchCompletionHandler:" variant of the legacy app delegate callbacks are not concerned.
  • Applying changes with the user data before starting Batch doesn't fail silently anymore, but now logs an error.
  • Improved log clarity for some errors

v1.7.2 - 9/11/2016

  • Rebuild the SDK without debug symbols

v1.7.0 - 27/10/2016

  • Fix the handling of notifications opened while the app is on the screen when using UNUserNotificationCenter on iOS 10. The "bug" remains on iOS 9 because of framework limitations.
  • Introduced Mobile Landings

v1.6.0 - 29/09/2016

  • Batch now requires iOS 8 or greater.
  • [Batch setUseAdvancedDeviceInformation:] has been introduced to reduce the quantity of device information Batch will use. Note that disabling this will limit several dashboard features.
  • Batch will now use the UserNotification framework when possible. UIUserNotificationCategory instances given to [BatchPush setNotificationsCategories:] are automatically converted to UNNotificationCategory on iOS 10.
  • BatchPush has new methods that allows it to be integrated into a UNUserNotificationDelegate instance.
  • [BatchPush registerForRemoteNotificationsWithCategories:] has been split in two methods and is now deprecated
  • Introduced a new dynamic framework, BatchExtension. It is compatible with application extensions APIs, and will progressively bring more Batch features to your extensions. In this version, it is used to add support for Rich Notifications.

Since iOS 10 changes quite a lot in how notifications work, it is strongly advised that you read our iOS 10 documentation: . Upgrading to UNUserNotificationDelegate is recommended.

v1.5.4 - 08/06/2016

  • Fixed push token environment detection (Production/Sandbox) logging
  • Fixes a bug where +[BatchPush trackEvent:withLabel:] didn't track the event label correctly

v1.5.3 - 21/04/2016

  • Removed most of the categories used by the SDK. -ObjC shouldn't be needed anymore, but it is encouraged to keep it
  • Added support for manual integrations: Application Delegate swizzling can now be disabled, but ALL Batch entry points should be implemented carefully. More info on
  • Improved support for notifications containing "content-available":1
  • Added .gitignore in "Batch.bundle" to fix git issues for those who commited Batch itself
  • Deprecated [BatchPush setupPush]. It is now implied.

v1.5.1 - 03/03/2016


  • Rare bug that triggered a misdetection of the push token kind
  • Logs about the push token kind are now clearer

v1.5 - 25/01/2016


  • Custom user data (attributes, tags and events)
  • Added an API to retrieve Batch's unique installation identifier
  • Deprecated BatchUserProfile
  • HTTP/2 Support (NSURLSession replaces the NSURLConnection backend when available)

v1.4 - 10/09/2015


  • Batch Ads has been discontinued
  • iOS 9 and Xcode 7 support
  • Added Bitcode support
  • Added a method for getting the last known push token
  • Improved push registration logs in case of failure
  • Fixed Xcode 7 compatibility when integrated via CocoaPods

Note: : If you previously integrated Batch, you may need to remove lines that look like $(PODS_ROOT)/Batch/** from "Framework Search Paths"in your Build settings for Batch to work with Xcode 7.

v1.3.2 - 01/07/2015


Improved Native Ads:

  • Added properties on BatchNativeAd to get image paths on disk (icon and cover)
  • Added a method to load Native Ads without preloading their UIImages
  • Added a MoPub custom event for Native Ads: BatchMoPubCustomNative


  • Automatic deeplink handling can now be disabled
  • Added a method for getting the deeplink from Batch Push

v1.3.1 - 10/06/2015


Fix an issue that could cause a freeze if your application embedded custom fonts and was started in Airplane mode

v1.3 - 02/06/2015



  • Interstitial Ads are now displayed in a top level UIWindow rather than pushed in your top view controller, for faster and more reliable display.
  • Importing Batch using @import Batch; now imports all of Batch's modules. If you want to keep the old behavior, import the new Batch.Core submodule, rather than Batch.
  • Batch now logs starts for DEV APIKeys.

v1.2.6 - 07/05/2015


  • Fixed a crash on iOS 6 that occurred when some application delegate methods were not implemented.
  • Improved Interstitial Ads on iOS 6 devices.

v1.2.5 - 16/04/2015


Various minor bugfixes.

v1.2.4 - 26/03/2015


  • More robust push
  • Improved deeplink handling


Minor bugfixes

v1.2.3 - 06/03/2015


v1.2.2 - 24/02/2015


Batch Ads (interstitials) released.

v1.1.1 - 16/12/2014


Stability improvements.

v1.1 - 09/10/2014


  • Batch Push released.
  • iOS 8 and Objective-C modules support.
  • Dropped iOS 5 compatibility.
  • BatchUnlockDelegate is now weakly retained, rather than strongly retained.
  • Batch now requires you to link with libsqlite3.dylib

v1.0.1 - 10/08/2014


Moved a file put by mistake in /Documents/ into /Library/Application Support/.

v1.0 - 08/07/2014


Batch out of beta testing and 1.0 published.

v0.x - 21/02/2014


Bastion, the predecessor to Batch, is released with Unlock functionality.