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. You can also update the tools from within the IDE.
Upgrading to 2.1 Gold
To upgrade from Momentics IDE 2.0 or earlier, you can use the installer or the IDE.
You can install Momentics IDE 2.1 Gold and continue using API level 10.2 and earlier. However, if you want to use API level 10.3, you must install Momentics IDE 2.1 Gold gold first.
If you have a BlackBerry Target that was created with a previous version of the Momentics IDE in your workspace, you need to delete the original target and create a new one with Momentics IDE 2.1 Gold.
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 Gold to a different location than your current IDE and continue to work in both versions.
To download and install Momentics IDE 2.1 Gold and the 10.3 Gold version of the BlackBerry 10 Native SDK using the installer:
- Download Momentics IDE 2.1 Gold from the Downloads page.
- Complete the installation by following the on-screen instructions.
- Start the Momentics IDE.
You may be prompted to install an SDK. If you aren't, on the Help menu, click Update API Levels.
- In the API Levels dialog box, click Gold and select the 10.3 Gold API level.
- Click Install.
- When the API level finishes installing, click OK.
Using the Momentics IDE
If you're upgrading using the Momentics IDE, you can update the IDE only or the IDE and SDK.
To update the IDE and SDK, complete the following:
- In the Momentics IDE, on the Help menu, click Check for Updates.
- Follow the instructions in the wizard.
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:
Device Properties wizard
QML Preview features
The updated toolbar focuses on launch configurations and it is the starting point for launching your app. You can use the toolbar for tasks such as running an app, debugging by attaching to a process, profiling C/C++ or QML projects, and performing memory analysis. To learn more, see Using the Momentics IDE.
If your device is not detected correctly in the IDE, you can use the new Device Properties wizard to resolve problems that may prevent you from running apps on your device. To start the Device Properties wizard, click the Momentics IDE edit icon beside the Launch target drop-down list. To learn more, see Managing devices.
QML Preview has some new features that make testing your UI easier. In the preview window, you can use the touch interaction feature to test how your app responds to touch events or use the selection feature to find the code that implements a control. You can also see how your UI looks with different colors, themes, and screen resolutions. To learn more, see QML Preview.
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.
Design units and UI adaptability
Design units and asset selectors make it easier to create adaptable UIs. A design unit is a unit of length that scales assets for different device specifications. You can use asset selection based on screen layout or based on screen density to minimize your code.
To learn more, see Design units and Asset selection based on layout.
Hover help in the Momentics IDE now displays the complete API reference information for all Cascades classes. You can press F2 to see API reference information for components or functions that you hover over.
Using API level 10.3, you can access new permissions in your bar-descriptor.xml file. You can use the phone call details permission to find out about a call in progress. You can also use smart card permissions to encrypt, decrypt, sign, and verify data, and access smart card services. To learn more, see Available permissions.
In Momentics IDE 2.1 Gold, you can now see variable values for common Qt types (for example, QString, QMap, and QVariant) when you are debugging your C++ code. Instead of seeing addresses only, the values are now printed in an easy-to-read format by default for API level 10.1 and later.
You can specify the visual style of your app (bright, dark, or default) by using the Theme drop-down list on the Application tab of your bar-descriptor.xml file. If you are using API level 10.3 or later, you can also specify customized colors for your theme. To learn more, see Application tap.
There is a new way to specify your app's visual style in the bar-descriptor.xml:
<env var="CASCADES_THEME" value="dark"/>
To make it easier to create cards, the Momentics IDE provides a project template for card creation. When you create a Cascades project using File > New > BlackBerry Project, you can select the Card app template to create a card app with a UI component that can send a message to a UI card. For more information about cards, see Cards.
You can now change the primary color of your app at runtime or in your bar-descriptor.xml file to a color that matches your brand. You can change the default visuals for many core controls. For more information, see the Themes documentation and the API reference documentation for the UIConfig class.
Fixed in this releaseJI: 674804
Analysis tools such as profiling, memory analysis, and code coverage did not work correctly.JI: 674452
Selecting Run Release on a device caused an error message to be displayed.JI: 669215
The MultiCover component was recognized as an attached property instead of a component.JI: 668059
The Momentics IDE became slow when using QML Preview for code that makes use of the textfield property of the TitleBar component.JI: 666834
Profiling did not start automatically when you selected QML Profile from the toolbar.JI: 660324
If you used QML Preview, the theme did not update correctly when switching orientation and resolution.JI: 660192
If you used the QML editor, auto-complete inserted incorrect text when invoked in an empty array  on a single line.JI: 649999
QML Preview terminated unexpectedly when viewing code containing the Sheet component.JI: 581446
The Momentics IDE terminated unexpectedly with the error message "Unable to render embedded object: File (QdeUiPlugin.workspace_dir_err_msg) not found." if there was a folder in the workspace that had a space as part of the name.JI: 508506
If you set up a new simulator in the Device Manager, then clicked to pair a simulator downloaded from another source, in the Select .vmx file browser, you couldn't open the Momentics.app folder.JI: 504509
In Mac OS X, while performing postmortem debugging in the IDE, the error message "symbol is not available" was shown in the debug trace.JI: 394005
When you switched between a device and simulator, you had to click Run instead of Build the first time after the switch.JI: 393808
Canceling the BAR file signing process deleted a previously signed BAR file.
- 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.
- 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 application 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 Gold, 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:
- 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.
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.
When clicking Help Contents > Native SDK-Cascades > Cascades Documentation (online access required), the Cascades documentation does not appear in the 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.
The BlackBerry 10 Native SDK documentation may not appear in Dynamic Help in the Momentics IDE. To access help topics from Dynamic Help, right-click a topic and click Open in Help Contents. Alternatively, you can always access the documentation by clicking Help > Help Contents in the IDE or by visiting the Documentation website.
If you have Java 6 installed and you upgrade your Mac OS X to 10.9 (Mavericks), the upgrade uninstalls Java 6. When you start the Momentics IDE, you are prompted to install Java 6. However, if you have Java 7 installed, you get an error message that there is a missing CreateJavaVM symbol and the Momentics IDE fails to launch.
Workaround: Uninstall Java 7 and start the Momentics IDE again. You can reinstall Java 7 after the Java 6 installation has completed.
When you perform a software update, you must accept the security warning about installing unsigned software and continue the installation.
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: 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: 708357
When debugging a headless app, use the personal workspace to deploy it. If you need to debug the headless service portion of the app in the workspace, in the Momentics IDE, perform the following steps:
- In the Project Explorer, select your headless service.
- In the Launch configuration drop-down list, select Create New Launch Configuration.
- Click Debug.
- Click Next.
- Click C/C++ QNX QConn(IP).
- Click Next and then Finish.
- In the Launch mode drop-down list, select Attach.
- Click the Launch button. The Debug perspective appears with the list of processes that can be attached to.
- Select the headless service process. The debugger stops at a default breakpoint of the service.
- Continue debugging.
When using the Code View mode in the QML editor, some QML components may not provide all available options through the Add context menu.
Workaround: Use the Design View mode instead.
Debugging may not work if you pair a BlackBerry device and a simulator target.
Workaround: If you disconnect the device or simulator target, delete it before creating a new project.
When creating multiple applications 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.
When creating a project using the Cards template, the project name must be 25 character or less, even if it says 38 characters are allowed.JI: 697129
You may get the error message "API Level: Unknown" when launching an application through the Run As/Debug As context menu in the Project Explorer view.
Workaround: Use the main toolbar to launch the application.
When editing the import <package> and <version> in QML editor, the code completion version that's inserted may include an extra character if the following block was not vertically spaced.
Workaround: Readjust the version and following block as required.
After you install the Momentics IDE, it downloads the Native SDK but does not provide an accurate indication of the download progress. The SDK will download, but the progress bar remains at a certain percentage.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.
Auto-detect for a simulator may time out if you have a slow computer.
Workaround: Remove the simulator target first, then add it again.
If you are using the DevelopmentSupport class to test changes in your UI, and you make a change to the files in the assets subfolder while your app is running, the app on your device does not update properly.
Workaround: Delete the app on the device and start it again from the IDE.
When moving your mouse over hover help, the text cursor in the QML editor may disappear.
Workaround: Click outside the editor pane.
A headless app cannot be launched through the Run As/Debug As context menu.
Workaround: Use the toolbar to launch your application instead.
After relaunching a headless app from the Momentics IDE, the headless app service does not restart.
Workaround: Terminate the old headless app service before relaunching your app.
The bar-descriptor.xml file does not work with Eclipse linked resources.
Workaround: If you are on Linux or Mac OS X, use soft link paths relative to your workspace, or copy the resources into your project.
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.
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.
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.
In the Momentics IDE, if you open a new workbench window using Window > New Window and then close the original window, the new main toolbar is missing even if you restart the Momentics IDE.
Workaround: In your workspace, remove the file .metadata/.plugins/org.eclipse.e4.workbench/workbench.xml.
Using the code selection feature within QML Preview, some QML components such as ActionBar, Tab, and TitleBar are not selectable.JI: 467325
When using the Memory Analysis Tool to analyze Cascades projects, the Memory Problems view takes longer than expected to populate the errors.JI: 461951
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 application 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.
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.
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.
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.
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.
On Windows 7 64-bit, QML Preview may fail to render ListView components when zooming.JI: 393767
WebView controls don't render in QML Preview.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: 393738
If you launch Run Config and enable the Code Coverage tool, when you check Code Coverage Sessions, there is no coverage of shared and static libraries.JI: 393718
Do not launch your application with the Application Profiler enabled in debug mode. This might cause the IDE to stop responding.JI: 393694
If you use the Application Profiler with the Sampling method on a target, all threads must be bound to CPU 0 because the Application Profiler only checks samples for CPU 0.JI: 393602
Breakpoints that you set from .gdbinit are not visible in the UI of the IDE.JI: 382910
When debugging an OpenGL 2.0 project, the debugger may skip some breakpoints.JI: 382833
A class containing a pure virtual function using variable arguments cannot be inherited virtually. The following error is generated: "generic trunk code fails for method 'virtual void Log::Logger::Debug(const char*, ...)' which uses '...'".JI: 382690
During initialization, the MSYS.dll file provided with the Native SDK will try to map network shares. If they are not available, then it will take as long as the network access timeout for each such mapped share for MSYS to start. This can lead to build times being slower if MSYS based utilities are used.
Last modified: June 27, 2014