Skip Navigation

Software requirements

Android
development

Item
Requirement
Compatibility with previous versions of the SDK
The
BlackBerry Dynamics SDK for Android
is compatible with these previous releases of the SDK:
  • 9.2.x
  • 9.1.x
Supported
Android
OS
Android
8.0 or later
BlackBerry Dynamics
Handheld Library
Minimum API level: 26
AndroidX libraries
Your apps must use the AndroidX support libraries to compile successfully. The SDK supports the following minimum versions. It is recommended to use the latest stable version of each library.
  • androidx.appcompat:appcompat:1.0.0
  • androidx.cardview:cardview:1.0.0
  • androidx.constraintlayout:constraintlayout:1.1.3
  • androidx.core:core:1.0.0
  • androidx.legacy:legacy-support-v4:1.0.0
  • androidx.preference:preference:1.1.0
  • androidx.recyclerview:recyclerview:1.0.0
Build requirements
  • If the app project uses the SDK .jar distribution, load the shared libraries libsbgse.so and libgdndk.so
Google Play
Services
The SDK uses
Google Play
Services version 17.0.0 to support some of its functionality.
If your app uses the following
Google Play
Services libraries, verify that you are using the following minimum version or later:
  • com.google.android.gms:play-services-location:17.0.0
  • com.google.android.gms:play-services-safetynet:17.0.0
Supported CPU architectures
  • ARMv7
  • ARMv8
  • x86
  • x86_64
Java
compatibility
Applications must be built using
Java
8 compatibility. For more information, see java8-support.
Suggested versions of platform and tools
  • Android
    Studio 3 or later
  • The following values specified in sdk/libs/handheld/gd/build.gradle. Other versions of tools will work, but the
    BlackBerry Dynamics
    library gradle files might need to be updated accordingly.
Package visibility restrictions
Package visibility updates were made in SDK version 8.1 and later to address changes in
Android
11 to how apps query and interact with other apps that are installed on the same device. These changes impact apps with the target SDK level set to
Android
11 or later only (targetSDKLevel=Android 11). If a
BlackBerry Dynamics
app is not upgraded to SDK version 8.1 and you change the target SDK level to
Android
11, the app cannot communicate with other
BlackBerry Dynamics
apps on the same device, breaking interoperability features (Easy Activation, authentication delegation, and so on).
To support the new package visibility queries element, you must either upgrade the
Android
Gradle plugin to version 3.6.3 or later or follow the instructions from the Android Developers Blog: Preparing your Grade build for package visibility in Android 11 to use a major Gradle version with the latest dot release.
Apps that target
Android
11 are able to perform interoperability operations with the apps that don't target
Android
11. Apps that are not targeted to
Android
11 can run on
Android
11 and are not affected by the package visibility restrictions.
Character encoding for build files
Build files (for example, settings.json) must use UTF-8 character encoding. Verify that the editor that you plan to use does not add non-UTF-8 characters or headers. In general,
Java
does not work with UTF-8-BOM (byte order mark).
Supported launch modes
Apps built with the
BlackBerry Dynamics SDK for Android
support the following launch modes in AndroidManifest.xml:
  • android:launchMode="standard"
  • android:launchMode="SingleTop"
  • android:launchMode="singleTask"
BlackBerry Dynamics Launcher Library
The
BlackBerry Dynamics Launcher
is a user-friendly interface that allows users to easily access and switch between
BlackBerry Dynamics
apps, configure app settings, and take advantage of other useful features. For more information, see the BlackBerry Dynamics Launcher Framework documentation.
The
BlackBerry Dynamics SDK
and the
BlackBerry Dynamics Launcher Library
are mutually dependent. See the BlackBerry Dynamics SDK for Android Release Notes for the required version of the
BlackBerry Dynamics Launcher Library
.
Restricted key prefix
The key prefix "blackberry" is reserved by
BlackBerry
and should not be used for key values, key attributes, or key elements. For more information and examples, see the Application Policies Definition in the appendix of the API Reference.

iOS
development

Item
Requirement
Compatibility with previous versions of the SDK
The latest release of the
BlackBerry Dynamics SDK for iOS
is compatible with these previous releases of the SDK:
  • 9.2.x
  • 9.1.x
Deployment target
iOS
13 or later
iOS
SDK
13.0 or later
Xcode
Xcode
12 or 13
Supported programming languages
  • Objective-C
  • Swift
    4, 4.2, 5
Supported Internet Protocols
  • IPv4
  • IPv6
Frameworks and libraries
The
BlackBerry Dynamics Runtime
static library requires the following frameworks and libraries in the Link Binary With Libraries build phase:
  • AdSupport.framework
  • AuthenticationServices.framework
  • AVFoundation.framework
  • BlackBerryCerticom.framework
  • BlackBerryCerticomSBGSE.framework
  • CFNetwork.framework
  • CoreData.framework
  • CoreServices.framework
  • CoreTelephony.framework
  • DeviceCheck.framework
  • libz.tbd
  • LocalAuthentication.framework
  • MessageUI.framework
  • Quartzcore.framework
  • QuickLook.framework
  • SafariServices.framework
  • Security.framework
  • SystemConfiguration.framework
  • WebKit.framework
Info.plist requirements
In the Info.plist file, add the key "Privacy - Camera Usage Description" with the value "Allow camera usage to scan a QR code". This is not required if the app already uses the camera for its own purposes.
Native bundle ID
If you develop a
BlackBerry Dynamics
app for use on both
iPhone
and
iPad
devices, use a single native bundle ID for all variations of the app.
UEM
will only accept a single native bundle ID.
Keychain group sharing for multiple apps
Keychain group sharing allows groups of apps to share information that is stored on a device's keychain. Keychain group sharing is required when you are developing multiple inter-related apps. The setting is part of a project's build.
To enable keychain group sharing in an
Xcode
project, open the project file, navigate to the app target Capabilities tab, and turn on Keychain Sharing. You may be asked for your developer password and to choose a development team. The provisioning profiles for each app must come from the same team and must share the same App ID prefix (see row below). For the Keychain Group, specify
com.good.gd.data
.
If the settings for keychain group sharing change, it is recommended to do a fresh reinstall of the new version of the app instead of upgrading the old version. This ensures that the new keychain settings take effect.
App ID prefix
An App ID prefix is a unique ID that groups a collection of apps and enables those apps to share keychain and UIPasteboard data. Apps that share keychain data must have a common App ID prefix from
Apple
.
The
Apple
App ID prefix is completely independent of the
BlackBerry Dynamics
entitlement ID
.
BlackBerry Dynamics Launcher Library
The
BlackBerry Dynamics Launcher
is a user-friendly interface that allows users to easily access and switch between
BlackBerry Dynamics
apps, configure app settings, and take advantage of other useful features. For more information, see the BlackBerry Dynamics Launcher Framework documentation.
The
BlackBerry Dynamics SDK
and the
BlackBerry Dynamics Launcher Library
are mutually dependent. See the BlackBerry Dynamics SDK for iOS Release Notes for the required version of the
BlackBerry Dynamics Launcher Library
.
Restricted key prefix
The key prefix "blackberry" is reserved by
BlackBerry
and should not be used for key values, key attributes, or key elements. For more information and examples, see the Application Policies Definition in the appendix of the API Reference.

Cordova
development

Item
Requirement
Development environment
The
macOS
platform is recommended for developing an app with the
BlackBerry Dynamics SDK for Cordova
. Development on a
Windows
computer is supported only for the
Android
platform.
Supported
Cordova
libraries
10
Node.js
10.x (LTS) or later
AngularJS
Version 1.x (without
Ionic
)
Angular
Version 7.x
Note the following limitations for
Android
only:
Ionic
Version 4, 5
Support for
Ionic
4 is deprecated and will be removed in a future release.
The SDK supports
Ionic
projects with the angular type only; projects with a react or vue type are not supported.
Compatibility with
BlackBerry Dynamics
SDK for
Android
and
iOS
This release of the
BlackBerry Dynamics SDK for Cordova
is compatible with
BlackBerry Dynamics SDK for Android
version 10.x and the
BlackBerry Dynamics SDK for iOS
version 10.x.
The
BlackBerry Dynamics SDK for Cordova
requires use of the BlackBerry Dynamics SDK for iOS dynamic framework. The
BlackBerry Dynamics SDK for iOS
static framework is no longer supported. For more information, see the readme file for the Base plug-in (cordova-plugin-bbd-base).
It is recommended that you always build and test with the most recent release of the
BlackBerry Dynamics SDK for Cordova
, to take advantage of new fixes and features.
Unsupported
BlackBerry Dynamics
features
  • Android
    : Data Leakage Prevention (DLP)