Integrate the BlackBerry Dynamics Launcher for iOS
BlackBerry Dynamics Launcher
for iOS
As of the
BlackBerry Dynamics SDK for iOS
version 13.0, the BlackBerry Dynamics Launcher
is now integrated with the SDK. Previously, you had to integrate a separate BlackBerry Dynamics Launcher Library
(version 12.1 and earlier) to add the Launcher to your BlackBerry Dynamics apps. The Launcher is enabled by default, but you do have the option to disable it.Take note of the following details and required actions for this new integration of the
BlackBerry Dynamics Launcher
:Item | Details |
---|---|
How the BlackBerry Dynamics Launcher interacts with the BlackBerry
Dynamics app UI |
|
How to integrate the new implementation of the BlackBerry Dynamics Launcher |
|
How to disable the new integration of the BlackBerry Dynamics Launcher | To disable the BlackBerry Dynamics Launcher , create a PList option (Boolean) named GDDisableAutomaticLauncherManagement and set the value to YES.This flag will prevent the automatic initialization and management of the BlackBerry Dynamics Launcher .The SDK will check whether it is managing the Launcher when a Launcher view controller instance is created. If the SDK expects that it is managing the Launcher but the application has created the instance outside of the SDK, this is not allowed, and an exception is generated. A BlackBerry
Dynamics app must define the Plist option if it is going to create its own instance of the Launcher. |
Customize the Launcher icon | You can use BEMS to set a custom Launcher icon. See Setting a customized icon for the BlackBerry Dynamics Launcher. |
Example: Get baseViewController
Example: Get baseViewController
var vc = self.window?.rootViewController if let gtlvc = vc as? GTLauncherViewController { vc = gtlvc.baseViewController }
Example: Unknown selector error
Example: Unknown selector error
*** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: 'The `<selector name>` selector has been invoked on an instance of GTLauncherViewController, which appears to not be the target object which this application is expecting. Retrieve the baseViewController property from the returned object and invoke the `<selector name>` selector on that target instead. Please refer to the Dynamics SDK documentation on Launcher for more information.'
Example: Set Launcher Delegate
Example: Set Launcher Delegate
let delegate = ... // instance which implements GTLauncherViewControllerDelegate let launcher = GDiOS.sharedInstance().getManagedLauncherViewController() launcher.delegate = delegate
Example: Delegate method for settings UITableViewController
Example: Delegate method for settings UITableViewController
func applicationSettingsTableViewController(forLauncher controller: GTLauncherViewController) -> UITableViewController? { // Create and return a UITableViewController which handles application settings }