The BlackBerry 10 Native SDK and the Momentics IDE for BlackBerry are now available as separate releases, so their version numbers are distinct. The Native SDK provides all of the libraries that you need to create your apps, while the Momentics IDE provides the development and testing environment that brings it all together.

To make it easy to download the tools that you need, the BlackBerry 10 Native SDK is installed separately from the Momentics IDE. When you start the Momentics IDE, you can download and install the BlackBerry 10 Native SDK from within the IDE.


Upgrading to 2.1.1 beta

You can upgrade to Momentics IDE 2.1.1 beta and API level 10.3.1 beta from Momentics IDE 2.1. This beta version of the IDE has some usability improvements to support new devices.

Using the installer


If you're using the installer, you need to install the Momentics IDE to a unique location. You have two options for upgrading using the installer:

  • Uninstall the previous version, then install the new version. If you uninstall the previous version of the Momentics IDE, you can still download previous API levels by using the update site in the IDE.
  • Install the new version to a different location. You can install Momentics IDE 2.1.1 beta to a different location than your current IDE and continue to work in both versions.

To download and install Momentics IDE 2.1.1 beta and API level 10.3.1 beta using the installer:

  1. Download Momentics IDE 2.1.1 beta from the Downloads page.
  2. Run the installation file.
  3. Complete the installation by following the on-screen instructions.
  4. In Windows and Linux, in your Momentics IDE installation folder (for example, C:\bbndk), open the qde.ini file in a text editor.

    In Mac OS, right-click the Momentics app and select Show Package Contents. Navigate to Contents > MacOS and open the qde.ini file in a text editor.

  5. Append the following line to the qde.ini file:

    -DINSTALL_DESCRIPTOR_LOCATION=http://downloads.blackberry.com/upr/developers/

    update/bbndk/install_descriptor_10_3_1_beta.xml

    Make sure the text is added on one line in the qde.ini file.

  6. Start or restart the Momentics IDE.
    You may be prompted to install an SDK. If you aren't, on the Help menu, click Update API Levels.
  7. In the API Levels dialog box, click Beta and select the 10.3.1 beta API level.
  8. Click Install.
  9. When the API level finishes installing, click OK.

Using the Momentics IDE


You can upgrade from Momentics IDE 2.1 Gold to Momentics IDE 2.1.1 beta from within the IDE:

  1. In Windows and Linux, in your Momentics IDE installation folder (for example, C:\bbndk), open the qde.ini file in a text editor.

    In Mac OS, right-click the Momentics app and select Show Package Contents. Navigate to Contents > MacOS and open the qde.ini file in a text editor.

  2. Append the following line to the qde.ini file:

    -DINSTALL_DESCRIPTOR_LOCATION=http://downloads.blackberry.com/upr/developers/

    update/bbndk/install_descriptor_10_3_1_beta.xml

    Make sure the text is added on one line in the qde.ini file.

  3. Start or restart the Momentics IDE.
    You may be prompted to install a new SDK. If you aren't, on the Help menu, click Update API Levels.
  4. In the API Levels dialog box, click Beta and select the 10.3.1 beta API level.
  5. Click Install.
  6. When the API level finishes installing, click OK.

Back to Top


MD5 checksum validation

An MD5 checksum file is available for releases of the Momentics IDE. You can use this file, in conjunction with any checksum tool that supports MD5, to validate the installer files that you download. Use the following link to download the MD5 checksum file for the IDE:

Momentics IDE 2.1.1 beta checksum

Back to Top


Highlights

Screen showing the trackpad and touch keyboard devices.
Screen showing the API highlight.
Screen showing the testing and debugging highlight.

Touch-sensitive keyboard and trackpad devices

Support for API level 10.3.1 beta

Testing and debugging made easier

To learn all about the BlackBerry Classic smartphone, see Device characteristics and Trackpad input. For information about designing your UI for the BlackBerry Classic, see Design units and Asset selection in 10.3. Support for new devices is available in the QML Preview drop-down list. To learn more about QML Preview, see QML Preview.

API level 10.3.1 beta includes new Trackpad event handlers, Effects, and the Credential Manager Library. You can download and install API level 10.3.1 beta from the Help menu. To download, see the Support for API level 10.3.1 beta.

You can build unit tests and run them on a device by using the new BlackBerry C/C++ Application Unit Test launch configuration. To learn more, see Unit testing and Unit testing with QTestLib. To learn about launching the JavaScript debugger without the GDB debugger, see Debugging a QML app. If you are using API level 10.3.1 beta or later, you can install everything you need for testing your QML changes live on a target. To learn more, see Updating QML live on a target.

Back to Top


New in this release

If you notice issues connecting to your device using the Momentics IDE, you may need to install the latest version of devicemanager.exe that can be found in the drivers folder on your device.

New and updated permissions


  • Phone Call Details and Phone Call Logs permissions are available as check boxes on the Application tab of the bar-descriptor.xml file.
  • Push and Run in Background permissions are no longer restricted and are granted to all developers by default.
  • Permissions no longer persist when a user uninstalls your app. The permissions that the user previously granted to your app are removed. The user is prompted to provide permissions when your app is reinstalled.

For more information, see Available permissions.

Scoreloop Library


The Scoreloop Library is no longer supported. Apps should not use any Scoreloop libraries or dependencies.

Support for API level 10.3.1 beta


API level 10.3.1 beta includes new Trackpad event handlers, Effects, and the Credential Manager Library.

You can use the updated PIM APIs to enhance your app with out-of-office notifications, email previews, and contact management.

If you are developing a C++ or QML app, you can use the HardwareInfo class to check if your app is running on a trackpad device.

You can download and install API level 10.3.1 beta from the Help menu.

  1. On the Help menu, click Update API Levels.
  2. In the API Levels dialog box, select the Beta tab.
  3. Click Install for the BlackBerry Native SDK 10.3.1 Beta 1 API level.
  4. When the API level finishes installing, click OK.

Testing and debugging made easier


You can build unit tests and run them on a device by using the new BlackBerry C/C++ Application Unit Test launch configuration. To learn more, see Unit testing and Unit testing with QTestLib.

You can start debugging quicker by launching the JavaScript debugger without the GDB debugger. To learn more, see Debugging a QML app.

If you are using API level 10.3.1 beta or later, you can use the DevelopmentSupport::install() function to install everything you need for testing your QML changes live on a target. To learn more, see Updating QML live on a target.

Touch-sensitive keyboard and trackpad devices


To learn all about the BlackBerry Classic, see Device characteristics and Trackpad input.

When you are designing your UI for the BlackBerry Classic, you can use design units and asset selectors to take advantage of the screen resolution. For more information, see Design units and Asset selection in 10.3.

Support for new devices is available in the QML Preview drop-down list. You can see BlackBerry 10 Keyboard (720x720) - Classic and BlackBerry 10 Keyboard (1440x1440) in the preview drop-down list. To learn more about QML Preview, see QML Preview.

Back to Top


Fixed in this release

JI: 708167

When using the Code View mode in the QML editor, some QML components did not provide all available options through the Add context menu.

JI: 707717

Debugging did not work if you paired a BlackBerry device and a simulator target.

JI: 700127

When debugging JavaScript in QML code, you needed to manually switch to the Debug perspective.

JI: 699472

When creating a project using the Cards template, the project name had to be 25 characters or less, even if it said that 38 characters were allowed.

JI: 697129

You got the error message "API Level: Unknown" when launching an app through the Run As/Debug As context menu in the Project Explorer view.

JI: 696467

When editing the import <package> and <version> in QML editor, the code completion version that was inserted included an extra character if the following block was not vertically spaced.

JI: 696335

After installing the Momentics IDE, it downloaded the Native SDK but did not provide an accurate indication of the download progress. The SDK downloaded, but the progress bar remained at a certain percentage.

JI: 493093

In the Momentics IDE, if you opened a new workbench window using Window > New Window and then closed the original window, the new main toolbar appeared to be missing even if you restarted the Momentics IDE.

Back to Top


Known issues

Documentation


JI: 700255

When clicking Help Contents > Native SDK-Cascades > Cascades Documentation (online access required), the Cascades documentation does not appear in the Momentics IDE Help. Instead, a page is displayed indicating that the content cannot be displayed in a frame.
Workaround: Click the "Open this content in a new window" link to open the documentation in a web browser.

Installation


JI: 768588

Installing and running the Momentics IDE using VMware may not work.
You can use VMware to run the targeted BlackBerry 10 Device Simulator.

JI: 394200

When you perform a software update, you must accept the security warning about installing the unsigned software and continue the installation.

Momentics IDE


JI: -

In the bar-descriptor.xml file, the <action> element used in previous versions of the Native SDK has been changed to be used with the invocation framework. The <permission> element has been reinstated for use to control permissions for an application. If you need to add permissions to your <action> application, you must change it to use the <permission> element. For more information, see The application descriptor file DTD.

JI: -

During debug sessions, watchpoints are not supported.

JI: 788256

Sometimes when you connect to an existing BlackBerry 10 Device Simulator target, you may see a "credentials required" error.
Workaround: Recreate the simulator target.

JI: 782527

The Quick-fix function cannot replace an old Cascades version with a new one.
Workaround: Delete the old imported version manually.

JI: 780347

In debug mode, an app cannot be terminated using the buttons in the Momentics IDE after debugging the app several times.
Workaround: To terminate the app and JavaScript debug process, select the app process from the launch configuration drop-down list and click the Terminate button.

JI: 780238

In debug mode, the reminder dialog box does not pop up when JavaScript debugging is disabled.
Workaround: On the Window menu, click Preferences. Expand BlackBerry > QML Debugging and Profiling, and select the Enable JavaScript Debugging check box.

JI: 776544

When debugging, if you add a breakpoint in a user interaction slot, the debugger becomes unresponsive.
Workaround: Remove the breakpoint and restart debugging.

JI: 776404

Momentics IDE 2.1.1 beta and BlackBerry 10 OS version 10.3.1 beta do not support assets with the number sign (#) in the file names.

JI: 775797

Using the 'extern "C" { ' construct in a .h or .c type project shows a syntax error compiler warning. For example, this issue occurs in the OpenGL ES 2.0 template. You can ignore this error.

JI: 775107

Symbols do not load for a shared library.
Workaround: You can manually add the shared library path that is compatible with the build configuration into the debugger. You can also go to the Debugger > Shared Libraries tab and delete the shared library paths that are not compatible with the build configuration.

JI: 774483

You can't remove a library dependency from your project using the Add Library wizard.
Workaround: Depending on your configuration, perform one of the following:

  • Update the bar-descriptor.xml file to delete the assets associated with the library, if applicable.
  • Right-click the project and click Properties. Click Project References and uncheck the included library, if applicable.
  • Right-click the project and click Properties. Expand C/C++ General > Paths and Symbols and click each tab to remove the reference for the included library, if applicable. Click Apply and rebuild the project.
  • Open every launch configuration created for the main project. Go to the Debugger > Shared Libraries tab to remove the paths of the shared libraries, if applicable.
JI: 774319

The shared library directory is not added to the Debug launch configuration.
Workaround: You can manually add the shared library path that is compatible with the build configuration to the Debugger > Shared Libraries tab and delete the shared library paths that are not compatible with the build configuration.

JI: 773770

Libraries are not linked in the order listed in the .pro file.
Workaround: After adding the libraries, you can set the "Auto-generate config.pri" property to "Never auto-generate" or "Prompt". To do this, right-click your project and click Properties. Click QML and then change the order of the libraries in the config.pri by replacing them manually.

JI: 773028

The Momentics IDE doesn't save the "Indent using tabs" option for the QML Editor.
Workaround: You can reset your preferences after restarting Momentics IDE.

JI: 769816

Some sample apps may display invalid permissions in the bar-descriptor.xml file. You can ignore them.

JI: 768823

Some libraries are not available for the BlackBerry 10 Device Simulator, such as libperipheral_discovery and libvpn_ext.
Workaround: Use a USB-connected device that is running a compatible OS version.

JI: 767348

When importing asset files from Windows, Mac OS X, or Linux, file names that are identical except for case are not imported.
Workaround: Make sure your asset files have unique names.

JI: 763209

Unit testing in debug mode multiple times may lead to an "I/O error: Pipe broken" error.
Workaround: Restart the debugger.

JI: 752971

In Windows, you may be unable to highlight QML text by hovering over the help block content.
Workaround: If you want to copy the highlighted text from QML, hover over the help dialog box and also select the header.

JI: 751432

The Delete key on the keyboard does not clear the default RGB value from the primary color field for the Cascades theme in the bar-descriptor.xml editor.
Workaround: You can select the word "default" and start typing the hex value or enter the hex value and delete the trailing word "default".

JI: 751064

When debugging the non-UI part of a headless app project that does not contain a QML or JavaScript part, the debug session may fail.
Workaround: Clear the Enable JavaScript Debugging check box in Preferences > BlackBerry > QML Debugging and Profiling.

JI: 747566

If you experience longer than usual downloading time for any of the BlackBerry API levels in the Momentics IDE, you can perform one of the following:

JI: 735177

The drag-and-drop components in the QML Editor do not suggest indirect possibilities of embedding components with some properties (for example, using navigation.left).
Workaround: Use code assist.

JI: 734711

Code assist may offer you code proposals that are not available for the version of the library you are importing in your QML project.
Workaround: Import the suggested library.

JI: 734650

In the QML Editing Perspective, in the QML Properties view, the lightning icon may not display.
Workaround: Expand the window horizontally to view the icon.

JI: 728835

When switching the Launch Target from a device to the BlackBerry 10 Device Simulator, you may get an error.
Workaround: Open and close the launch configuration by clicking the Edit icon.

JI: 725885

If you use Reset Perspective, you may see a shadow of another window.
Workaround: Restart the Momentics IDE.

JI: 715357

You can't download and import a sample app again after deleting it from your workspace.
Workaround: Restart the Momentics IDE.

JI: 709026

If you are using the headless app template, the headless app can't be started in Run-Release mode, because this mode requires a signed .bar file with the _sys_headless_nostop permission. However, you can still test a headless app in Device-Debug mode and apply for signing keys with that special permission and get your app signed once you're at the publishing stage.

JI: 701878

When creating multiple apps with the same entry-point name, launch configurations may point to the incorrect project.
Workaround: Use different entry-point names for each project in the same workspace.

JI: 685847

Code assist may not work for certain QML/C++ objects in .cpp files.
Workaround: Right-click the class name for that object and click Open Declaration.

JI: 672608

Auto-detect for a simulator may time out if you have a slow computer.
Workaround: Remove the simulator target first, then add it again.

JI: 654774

When moving your mouse over hover help, the text cursor in the QML editor may disappear.
Workaround: Click outside the editor pane.

JI: 643600

A Launch Group launch configuration can't be added using the Launch Configuration Properties dialog box.
Workaround: On the Run menu, click Run Configurations.

JI: 642469

A headless app cannot be launched through the Run As/Debug As context menu.
Workaround: Use the toolbar to launch your app instead.

JI: 537275

The bar-descriptor.xml file does not work with Eclipse linked resources.
Workaround: If you are using Linux or Mac OS X, use soft link paths relative to your workspace, or copy the resources into your project.

JI: 526021

If you get the message "error in opening zip file" while updating or downloading the Momentics IDE or API levels, you may need to clear your download cache.
Workaround: Delete any files in the <full_path_to_IDE_install>/p2/org.eclipse.equinox.p2.core/cache/ folder.

JI: 515411

When using the Headless template, if the headless app project name is longer than 18 characters, the name of the generated entry point will exceed its maximum 25 character limit and create an error.
Workaround: If you want a project name that is longer than 18 characters, you need to rename the entry point of your service.

JI: 510634

If your device goes to sleep while debugging an app, you will not be able to resume the debugging process.
Workaround: Make sure your device is awake during the debugging process.

JI: 488794

Using the code selection feature within QML Preview, some QML components such as ActionBar, Tab, and TitleBar are not selectable.

JI: 461951

If you debug multiple projects at once, only the first project will hit the JavaScript breakpoints you set.

JI: 441349

Your project may become unresponsive when attempting to launch in debug mode while using Memory Analysis.

JI: 432658

QML Preview doesn't render text initially when a ForeignWindowControl is in the UI.

JI: 393915

The lupdate tool does not correctly handle files with names containing more than one dot.
Workaround: Do not use more than one dot when naming project files.

JI: 393904

If your app requires permissions and you launch it from the Momentics IDE, you must promptly accept the permissions on the device or the launch might time out.

JI: 393865

If you rename an existing project, the IDE does not prevent you from using special characters, spaces, or other invalid naming conventions.
Workaround: To prevent issues, you should avoid using special characters, spaces, and names that are shorter than 3 characters or longer than 25 characters.

JI: 393855

If you update the IP address of a BlackBerry Target and click OK without clicking Apply first, the IDE gives an error that it can't connect to the target. However, the IDE does connect.
Workaround: After updating the IP address, click Apply before clicking OK.

JI: 393848

The locked SDKs in the Update Native SDK wizard may not accurately reflect the SDKs you are using.
Workaround: Use care when uninstalling SDKs to ensure that you don't uninstall an SDK that you want to continue using.

JI: 393847

When you debug C programs, global variables do not appear in the Variables view.
Workaround: Type an expression in the Expressions view for each global variable that you want to inspect.

JI: 393837

In a Linux environment, if you run the update manager and do not choose the options to switch to the newest SDK or to update the IDE, after the upgrade, the newest SDK is used by default.
Workaround: When you run the update manager, choose the option to update the IDE.

JI: 393784

On Windows 7 64-bit, QML Preview may fail to render ListView components when zooming.

JI: 393763

JSDT does not show static members in code completion.

JI: 393746

When you create a project with a name that begins with a numeric value, you will see the following error: "Package ID is invalid". Project names cannot start with a numeric value and must start with a letter from a-z or A-Z.

JI: 393602

Breakpoints that you set from .gdbinit are not visible in the UI of the IDE.

Back to Top


Known limitations

Installation


  • The Native SDK does not support Shared Install.
  • When you execute bbndk.sh to launch the Native SDK on Ubuntu 11.04 32-bit, you will receive an error:
    "QNX Compiler Configuration Error". Run the ./qde app instead.
  • By default, the Native SDK installer creates the installation folder on Windows systems at the root of the C drive in C:\bbndk. During installation, you need to provide the administrative username and password or, if you are the administrator, accept that the SDK is installing on the C drive.
  • When installing and uninstalling the Native SDK on a 64-bit Linux host computer, you may see an error regarding a missing libc.so.6 file. You can disregard this error message.
  • On Mac OS X, you may encounter an issue with incorrect permissions on the Native SDK installer executable. To launch the installation program, you will first need to manually change the permissions for the installer.
  • To run the IDE on Ubuntu 64-bit, you need to install additional libraries depending on the version of Ubuntu that you're using:

    For Ubuntu 13.10 and earlier, install the following library:

    • sudo apt-get install ia32-libs

    For Ubuntu 14.04 and later, install the following libraries:

    • sudo apt-get install lib32z1 lib32ncurses5 lib32bz2-1.0
    • sudo apt-get install lib32stdc++6
    • sudo apt-get install libgtk2.0-0:i386 libxtst6:i386

    During the installation, after reading the agreement, type q at the : prompt and then answer yes to all of the questions.

Momentics IDE


  • It is possible that the debugger may take 5-10 minutes to launch when paired with certain devices that are running BlackBerry 10 OS version 10.2.1.
  • When you use the Memory Analysis tool, you may see an empty graph with the warning "No graphical input". This is by design for security reasons and this information is unsupported for BlackBerry 10 OS targets.
  • Standard makefile projects cannot be named "makefile". Use a different name for your project.
  • Memory leaks are reported only when an app exits normally. If it is killed or terminates unexpectedly, memory leaks will not be reported. To report memory leaks in this case, the API should be used.
  • To use pretty printers with Momentics IDE 2.1.1 beta or earlier, you need to have an API level of 10.1 or later.
  • When running a version of Java older than 1.7 and using the command line packager (instead of the IDE), you may have problems when deploying an app that contains files using UTF-8 (international) characters in their name. Use Java 1.7 or later when deploying your app.
  • If you are running the Momentics IDE and the simulator, the simulator may respond slowly. You may need to add up to 8 GB RAM.
  • The Momentics IDE may terminate unexpectedly in WebKit when trying to show QML hover help. To disable the QML hover help completely, add the following to your qde.ini file:
    -Ddisable.qml.browser.control=true
  • The application binary interfaces for the Dinkum C++ and GNU C++ libraries are incompatible. If you link an app against both libraries, you'll get a segmentation fault.
  • If you downloaded an API in the Momentics IDE from Help > Update API Levels, you may see the error "API level modification has encountered a problem. There was an error updating the SDK". Try to install again or try to use the offline installer.

QML Preview


Using older drivers with QML Preview

Any drivers that are more than 12 months old are unsupported. Using unsupported drivers can lead to issues with rendering, such as complete disabling of the QML Preview feature. The user will also be notified about this situation by a dialog box within the Momentics IDE.
Workaround: Update to the latest drivers. This issue might occur even with newer graphics cards and the latest drivers. In this case, you should report this issue to BlackBerry developer support with as much detail as possible. You can report the issue on the BlackBerry Support Community Forums. For more information, check out Troubleshooting QML Preview.

Previewing QML files when using static asset selection

Some apps use assets selectors to handle different device resolutions. If your app includes static asset selection, you need to select the matching device resolution for QML preview to render correctly.
Workaround: You should run your app on a BlackBerry 10 device or the BlackBerry 10 Device Simulator to get the most accurate view of your QML content. For more information, see Known limitations of QML Preview.

Back to Top


Previous release notes

You can find the release notes for the previous releases on the following pages:

Back to Top


Last modified: October 06, 2014

  1. 1. Choose your focus

    This is the focus controller. Use this controller to choose your primary development approach (Cascades or Core).

    By selecting a focus, you get to decide what content should be front and center on the site.

  2. 2. Download the tools

    Before you start developing, you'll need to visit the Downloads tab. Here you'll find downloads for the BlackBerry 10 Native SDK, BlackBerry 10 Device Simulator, and some other useful tools.

  3. 3. Try the sample apps

    Now featuring a filter control, the Sample apps tab allows you to search for samples by name or by feature.

    Select either the Core or Cascades check boxes to display the samples relevant to your focus.

  4. 4. Educate yourself

    The Documentation tab contains tons of examples, tutorials, and best practices to guide you along the path towards building an awesome app.

    The documentation for your preferred focus always appears at the top of the left-hand navigation, but you can still access the rest of the documentation at the bottom.

  5. 5. Start developing

    The Reference tab is where you'll find essential details about how to use our APIs.

    You can use the left-hand navigation to choose how you would like to browse the reference: by module, by topic, or alphabetically. If you have an idea of what you are looking for, start typing it in the Filter box.