10.3 Gold release notes

Momentics IDE for BlackBerry

Screen showing the IDE highlight.

Momentics IDE for BlackBerry provides the development and testing environment and tools that you need to develop great apps. Take a look at the release notes.

BlackBerry 10 Device Simulator

Screen showing the simulator running on a computer.

The BlackBerry 10 Device Simulator allows you to simulate the BlackBerry 10 OS environment to help you develop your app. Take a look at the release notes.

Plug-in for Microsoft Visual Studio

Screen showing the core logo with a plug coming out from it.

Do you want to develop your app in Microsoft Visual Studio? You can use the BlackBerry Native Plug-in for Microsoft Visual Studio. Take a look at the release notes.

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 10.3 Gold

To upgrade to the 10.3 Gold version of the Native SDK, you must also upgrade to Momentics IDE 2.1 Gold using 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 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:

  1. Download Momentics IDE 2.1 Gold from the Downloads page.
  2. Complete the installation by following the on-screen instructions.
  3. Start 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 Gold and select the 10.3 Gold API level.
  5. Click Install.
  6. 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, in the Momentics IDE, complete the following:

  1. On the Help menu, click Check for Updates.
  2. Follow the instructions in the wizard.

For more information about API levels

See API levels in Build, test, and deploy your app.

Targeting multiple API levels

If you're using the 10.3 Gold version of the SDK but you still want to develop for a BlackBerry 10 device that's running version 10.2 or earlier of the OS, you need to download an additional SDK by using the update site. To do this, in the Momentics IDE, complete the following:

  1. On the Help menu, click Update API Levels.
  2. In the API Levels dialog box, click Gold or Beta and select the API level that you want.
  3. Click Install.
  4. When the API level finishes installing, click OK.

For more information, see Set up your environment.

Finding the appropriate version

Here's a quick summary of the versions you need:

  • If you are developing for a BlackBerry 10 Dev Alpha device, visit Updating the BlackBerry 10 Dev Alpha Device Software.
  • If you are developing for a BlackBerry 10 smartphone, you need to download an API level from the update site that matches the device version that's provided by your wireless service provider. You can verify the device version by opening the Settings app, tapping About, selecting OS in the Category drop-down list, and checking the version that's listed in the OS Version field.

For more information about developing apps that work on different versions of the BlackBerry 10 Native SDK, see Appropriate version of the BlackBerry Native SDK in the BlackBerry Support Community Forums.

Reverting to an earlier software version

The following procedure will delete all data and applications on the BlackBerry device. If possible, back up the data prior to performing the procedure. Any backups created while running a developer build of the BlackBerry 10 OS cannot be restored after the production BlackBerry 10 OS has been reloaded.

If you've upgraded the software version on your device to a recent developer build of the BlackBerry 10 OS and you want to revert to a software version that's been released by your wireless service provider, complete the following:

  1. Open BlackBerry Link.
  2. Connect the device using a micro USB cable.
  3. Under Devices, click the device name.
  4. In the upper-right corner, click Preferences.
  5. On the left, click Reload Device Software.
  6. Click Reload.
  7. Click OK.

For more information on reverting to an earlier software version, read this knowledge base article.

Back to Top

Cascades and Core release notes



Screen showing the design units and UI adaptability hightlight.

Design units and UI adaptability

Screen showing the themes and colors highlight.

Themes and colors

Screen showing the touch input handling highlight.

Touch input handling

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.

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.

Future 10.3 devices have a new touch-sensitive area in addition to the standard touch screen. You can monitor events on the touch-sensitive area using the screen API, or the TouchKeyboardEvent and TouchKeyboardHandler classes.

New in this release

Cascades | Core

Cascades UI framework

Action bar

The new action bar is more compact and available in a light and dark theme. The action bar offers a text label solution that works on all devices. When the virtual keyboard is invoked, the action bar follows the keyboard to remain visible.

Any image can now be colorized. If you want to override how the framework colorizes an action item image, you can specify a type of normal in the image's .amd file and the framework will use the default image. For more information, see Action item images.

Brand colors and visual styles

You can now change the primary color of your app from blue to a color that more closely matches your brand. This change affects the default visuals for many core controls.

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 tab.

Expandable view

An ExpandableView is a control that's used to display a portion of its contents in a fixed height, and the control can be expanded to display its full contents.

Grid layout

A grid layout is a new layout type that allows you to create complex layouts using less code. It uses cells to arrange components and a columncount property to specify columns in the layout.

Interactive list header

An interactive list header lets you create a Header control with a clickable button and subtitle. The button functions much like a standard Button control and can be used to invoke cards or can be connected to other objects using signals and slots. For more information, check out the Header API reference.

List rearrange

Lists now support rearrange mode, which allows users to rearrange items in a list by dragging items from one place to another. For more information, see Rearranging lists.

Signature action items

Signature action items allow you to draw attention to an especially important action and make it stand out more. The signature action item remains visible when the action bar scrolls away. You can apply a background color to a signature action item. For more information, see Signature action items.

Title bar

We’ve added a new TitleBar type called TextField that allows you to add a text field and action buttons to a TitleBar. This addition allows your users to enter text into the text field and use the title bar buttons to perform an action (for example, a search). For more information, see TitleBarKind.

Text input for an action item

We’ve added the ability to input text in an action item on an action bar. Users can enter text in a text field in an action item and submit their entry. For more information, see TextInputActionItem.


The WebView class now provides all of the functionality you need to implement tabbed browsing. There is a new contextual action item for opening a link in a new tab. This new functionality allows the WebView to support pop-up WebView objects that communicate with the original WebView. The newViewRequested() and closeRequested() signals and the WebNewViewRequest class allow you to fine-tune the behavior of pop-ups or implement a tabbed browsing experience. The openLinkInNewTabAction property can be used to disable the "Open in new tab" contextual action item or change its icon or text to suit your implementation.

In some cases, you may want to prevent WebView from showing the virtual keyboard. Similar to TextInputProperties, you can use the new WebInputProperties class to specify the VirtualKeyboardOff flag from the TextInputFlag class.

When encountering an untrusted HTTPS/SSL connection, WebView used to cancel all loading immedately without providing any feedback. To improve the user experience, WebView now shows a warning and allows the user to inspect the certificates used. If the certificate error is minor, the user is allowed the option to add an SSL site exception for this particular site (that is, trust the connection anyway and proceed with loading the web content).

WebView now remembers which sites the user has granted permission to use location services and which sites the user has granted SSL site exceptions. The WebStorage class has been updated to include two new functions:

  • The clearGeolocationPermissions() function clears all permissions granted by the user to web sites that use location services.
  • The clearSslSiteExceptions() function clears all SSL site exceptions added by the user.

Cascades platform APIs

File system info

You can use the physicalCapacity() function to find the maximum capacity of the main storage on the device in bytes. This value can be displayed to the user as the storage capacity of the device (for example, 4, 8, or 16 GB of storage).


New features have been added to the Maps APIs:

  • MapView: You can use the animateToLocation() function to fly or scroll to a location instead of jumping to the location on a map.
  • GeoDeviceLocation: You can use the isValid() function and the validChanged() signal to determine the validity of a device’s location. The device has a valid location when it has received a location update from a location source.
  • MapCoverageChecker: You can use the MapCoverageChecker class to determine if map coverage is available in MapView.
  • RouteMapInvoker: You can specify hands-free navigation using the RouteMapInvoker class and the HandsFreeNavigation enum, which represents the list of possible hands-free navigation modes.


We’ve added closed captioning functionality to the MediaPlayer class and both embedded and external streams are now supported. In the NowPlayingConnection class, the preemptable functions are deprecated. You can use the PriorityLevel enumeration instead. NowPlayingController and NowPlayingConnection support the passing of ShuffleMode and RepeatMode through the now playing service.


We've updated the Phone class so that you can interact with calls in progress including holding a call, resuming a call, merging two calls into a conference call, and splitting a call from a conference call. Using the Call class, you can get the phone number of a call in progress if you have the read_phonecall_details permission.

Personal information management (PIM)

New features have been added to the PIM APIs:

  • Account: You can retrieve all accounts on a device, including any accounts that might be disabled. You can set up an external account and specify the services that the account provider supports, and you can set owner information for the account.
  • Calendar: For calendar events and BBM conferences, you can set online conference information, including the moderator code. You can now reply to a single occurrence of a recurring event, reply to an event invitation and propose a new time, and search for prefixes only in the subject, location, or attendee fields. You can retrieve an iCalendar attachment by providing a message ID, and there are new categories for calendar events.
  • Contacts: Groups are now available, which let you organize contacts into logical groupings. You can retrieve the display name of a contact, as well as the photo hash that's associated with a contact photo.
  • Message: Update filters have been added, which let you specify options and parameters for bulk message updates, such as mark read, delete, or hide. You can set messages as hidden, and you can apply various permissions to messages. For conversations, you can retrieve the reply state and timestamp, and you can specify whether a conversation is hidden. Support for very large attachments has also been added.
  • Notebook: A filter has been added that you can use to search for and count notebook entries.
  • Phone: You can gather information about previous incoming or outgoing calls on the device, and you can access the history of past calls (also called the call log).

Back to Top

Core | Cascades

API reference versions

Each programming element in the API reference now includes a "Since" section that indicates the earliest API level in which the element was available. For example, the uds_register_client() function (which is part of the Unified Data Source Library) states "Since: BlackBerry 10.2.0", which indicates that this function is available in API level 10.2 and later.

In the C Library, some of the "Since" sections may not reflect the correct API level. This will be resolved in a future release.

Audio Library

Pulse Code Modulation devices

  • Added the following data types:
    • audio_share_settings_t
    • snd_pcm_chmap_t
    • splitter_settings_t
  • Added the following functions to add splitter capability and extend existing plugin capabilities:
    • snd_pcm_get_handled_device()
    • snd_pcm_plugin_find_stereo_pair()
    • snd_pcm_plugin_find_stereo_pair_from_map()
    • snd_pcm_plugin_get_inactive()
    • snd_pcm_plugin_pan()
    • snd_pcm_plugin_reset_voice_conversation()
    • snd_pcm_plugin_set_audio_share_device()
    • snd_pcm_plugin_set_best_fit_voices()
    • snd_pcm_plugin_set_eq()
    • snd_pcm_plugin_set_splitter_device()
    • snd_pcm_query_channel_map()

BlackBerry Platform Services Library


  • Added the following functions:
    • menu_request_get_target_key()
    • menu_request_set_target_key()


  • Added the following function:
    • navigator_set_lockscreen_wallpaper()


  • Added the following data types:
    • navigator_invoke_recurrence_rule_frequency_t
    • navigator_invoke_recurrence_rule_t
    • navigator_invoke_specific_time_t
    • navigator_invoke_timer_trigger_type_t
  • Added the following functions:
    • navigator_invoke_recurrence_rule_create()
    • navigator_invoke_recurrence_rule_destroy()
    • navigator_invoke_recurrence_rule_get_count_limit()
    • navigator_invoke_recurrence_rule_get_date_limit()
    • navigator_invoke_recurrence_rule_get_days_of_month()
    • navigator_invoke_recurrence_rule_get_days_of_week()
    • navigator_invoke_recurrence_rule_get_hours_of_day()
    • navigator_invoke_recurrence_rule_get_interval()
    • navigator_invoke_recurrence_rule_get_minutes_of_hour()
    • navigator_invoke_recurrence_rule_get_months_of_year()
    • navigator_invoke_recurrence_rule_get_start_date()
    • navigator_invoke_recurrence_rule_set_count_limit()
    • navigator_invoke_recurrence_rule_set_date_limit()
    • navigator_invoke_recurrence_rule_set_days_of_month()
    • navigator_invoke_recurrence_rule_set_days_of_week()
    • navigator_invoke_recurrence_rule_set_hours_of_day()
    • navigator_invoke_recurrence_rule_set_interval()
    • navigator_invoke_recurrence_rule_set_minutes_of_hour()
    • navigator_invoke_recurrence_rule_set_months_of_year()
    • navigator_invoke_recurrence_rule_set_start_date()
    • navigator_invoke_specific_time_create()
    • navigator_invoke_specific_time_destroy()
    • navigator_invoke_specific_time_get_day()
    • navigator_invoke_specific_time_get_hour()
    • navigator_invoke_specific_time_get_minute()
    • navigator_invoke_specific_time_get_month()
    • navigator_invoke_specific_time_get_time_zone()
    • navigator_invoke_specific_time_get_year()
    • navigator_invoke_specific_time_set_day()
    • navigator_invoke_specific_time_set_hour()
    • navigator_invoke_specific_time_set_minute()
    • navigator_invoke_specific_time_set_month()
    • navigator_invoke_specific_time_set_time_zone()
    • navigator_invoke_specific_time_set_set_year()
    • navigator_invoke_timer_registration_create()
    • navigator_invoke_timer_registration_destroy()
    • navigator_invoke_timer_registration_event_get_action()
    • navigator_invoke_timer_registration_get_action()
    • navigator_invoke_timer_registration_get_id()
    • navigator_invoke_timer_registration_get_recurrence_rule()
    • navigator_invoke_timer_registration_get_specific_time()
    • navigator_invoke_timer_registration_get_target()
    • navigator_invoke_timer_registration_get_timer_id()
    • navigator_invoke_timer_registration_get_type()
    • navigator_invoke_timer_registration_send()
    • navigator_invoke_timer_registration_set_action()
    • navigator_invoke_timer_registration_set_id()
    • navigator_invoke_timer_registration_set_recurrence_rule()
    • navigator_invoke_timer_registration_set_specific_time()
    • navigator_invoke_timer_registration_set_target()
    • navigator_invoke_timer_registration_set_timer_id()
  • Added the following invoke target type:


  • Added the following function:
    • virtualkeyboard_change_options_v2()
  • Added the following keyboard layout:

For more information, see BlackBerry Platform Services Library.

Bluetooth Library


  • Added the following constants:
  • Added the following data types and functions to support asynchronous operations:
    • bt_disc_inquiry_complete_cb
    • bt_ldev_set_power_cb
    • bt_rdev_delete_cb
    • bt_rdev_pair_cb
    • bt_rdev_refresh_gatt_services_cb
    • bt_rdev_refresh_services_cb
    • bt_ldev_set_power_async()
    • bt_ldev_get_services()
    • bt_ldev_free_services()
    • bt_ldev_set_power_async()
    • bt_ldev_get_services()
    • bt_ldev_free_services()
    • bt_rdev_pair_async()
    • bt_rdev_delete_async()
    • bt_rdev_refresh_services_async()
    • bt_disc_start_inquiry_async()
  • Added the following data types and functions for SDP support:
    • bt_rdev_sdp_cb
    • bt_sdp_class_t
    • bt_sdp_prot_t
    • bt_sdp_lang_t
    • bt_sdp_record_t
    • bt_sdp_list_t
    • bt_rdev_sdp_search_async()
    • bt_rdev_sdp_search()
    • bt_rdev_sdp_free()
  • Added the following functions to support headless Bluetooth triggers:
    • bt_ldev_enable_invoke()
    • bt_ldev_disable_invoke()
    • bt_ldev_invoke_decode_event()
    • bt_ldev_set_filters()


  • Added the following data types and functions to support asynchronous operations:
    • bt_gatt_att_error_t
    • bt_gatt_characteristics_cb
    • bt_gatt_descriptors_cb
    • bt_gatt_included_services_cb
    • bt_gatt_read_value_cb
    • bt_gatt_write_value_cb
    • bt_gatt_characteristics_async()
    • bt_gatt_descriptors_async()
    • bt_gatt_included_services_async()
    • bt_gatt_read_value_async()
    • bt_gatt_write_value_async()


  • Added the following data types and functions to support asynchronous operations:
    • bt_gatt_srv_read_request_cb
    • bt_gatt_srv_send_indication_cb
    • bt_gatt_srv_send_notification_cb
    • bt_gatt_srv_write_request_cb
    • bt_gatt_srv_send_indication_async()
    • bt_gatt_srv_send_notification_async()


  • Added the following data types and functions to support asynchronous operations:
    • bt_hid_service_connected_async_cb
    • bt_hid_interrupt_sent_cb
    • bt_hid_connect_async()


  • Added the following data types to support advertisement callbacks:
    • bt_le_advert_packet_event_t
    • bt_le_advertisement_ext_cb
  • Added the following functions to support headless Bluetooth triggers:
    • bt_le_enable_advert_invoke()
    • bt_le_disable_advert_invoke()
    • bt_le_invoke_decode_advert_complete()
    • bt_le_invoke_decode_advert_changed()
    • bt_le_enable_scan_invoke()
    • bt_le_disable_scan_invoke()
    • bt_le_invoke_decode_scan_result()


  • Added the following functions to provide an alternative method to set up an SPP connection:
    • bt_spp_get_service_port()
    • bt_spp_open_ex()
    • bt_spp_open_server_ex()

Camera Library


  • Added the following enumerators to camera_devstatus_t:
  • Added the following enumerators to camera_error_t:
  • Added the following enumerator to camera_feature_t:
  • Added the following members to camera_frame_bayer_t:
    • cadence_length
    • justification
    • pixels_per_cadence
  • Added the following enumerator to camera_imgprop_t:
  • Added the following enumerators to camera_physprop_t:
  • Added the following enumerator to camera_powerdownreason_t:
  • Added the following type to support viewfinder modes:
    • camera_vfmode_t
  • Added support for Bayer bit justification:
    • camera_bayerjustify_t
  • Added the following functions to support viewfinder:
    • camera_get_supported_vf_framerates()
    • camera_get_supported_vf_frametypes()
    • camera_get_supported_vf_modes()
    • camera_get_supported_vf_resolutions()
    • camera_get_supported_vf_rotations()
    • camera_get_vf_mode()
    • camera_get_vf_property()
    • camera_get_video_frame_types()
    • camera_set_vf_mode()
    • camera_set_vf_property()
    • camera_start_viewfinder()
    • camera_stop_viewfinder()
  • Added the following function for handling zoom:
    • camera_get_zoom_ratio_from_zoom_level()
  • Added the following function to determine if an audio codec is supported:
    • camera_is_audiocodec_supported()

Camera Features Library

  • Added a Camera Features Library (camera_hdr.h) for working with high dynamic range (HDR) photos

NFC Library


  • Added the following functions:
    • nfc_get_feature_set()
    • nfc_get_property()


  • Added a new header file with the following function:
    • com_gsma_services_nfc_get_property()


  • Added the following data types to support NFC GSMA requirements:
    • gsma_property_id_t
    • nfc_property_id_t


  • Added the following function:
    • nfc_se_is_uicc_ce_enabled()
  • Added the following functions to support secure element card emulation:
    • nfc_se_register_aid()
    • nfc_se_unregister_aid()
    • nfc_se_is_aid_registered()


  • Added the following functions:
    • nfc_se_parse_transactionV2()
    • nfc_se_transaction_check_source_gid()


OpenMAX AL is a royalty-free API for accelerating the playback and recording of multimedia (video and audio). OpenMAX AL defines two profiles: media player and media player/recorder. Media playback is fully supported by the BlackBerry 10 implementation of OpenMAX AL; however, media recording only supports audio. To learn more, see the OpenMAX AL.

Peripheral Discovery Library


  • Added the following enum values to pd_class_t:
  • Added the following event type to pd_event_type_t:

For more information, see Peripheral Discovery Library.

Scoreloop Library


  • Added support for paging in challenges
  • Added the following functions:
    • SC_ChallengesController_GetRange()
    • SC_ChallengesController_HasNextRange()
    • SC_ChallengesController_HasPreviousRange()
    • SC_ChallengesController_LoadNextRange()
    • SC_ChallengesController_LoadPastChallenges()
    • SC_ChallengesController_LoadPreviousRange()


  • Added a convenience class to set up the configurable parameters of the client
  • Added the following functions:
    • SC_ClientConfig_Delete()
    • SC_ClientConfig_New()
    • SC_ClientConfig_SetGameCurrency()
    • SC_ClientConfig_SetGameIdentifier()
    • SC_ClientConfig_SetGameSecret()
    • SC_ClientConfig_SetGameVersion()
    • SC_ClientConfig_SetLanguages()
    • SC_ClientConfig_SetLogHandler()
  • Added the SC_LogHandler_t function type


  • Added the following functions:
    • SC_Client_CreateTermsOfServiceController()
    • SC_Client_NewWithConfig()




  • Added the SC_Session_GetTermsOfServiceState() function


  • Added String API extensions
  • Added the following functions:
    • SC_String_NewWithBinaryData()
    • SC_String_NewWithCurrentDateTime()
    • SC_String_NewWithDateTime()
    • SC_String_GetBinaryData()

For more information, see Scoreloop.

Screen Graphics Subsystem Library

  • Added support for input sessions which provide APIs that enable apps to control how raw events are processed into higher-level events (for example, keyboard, gamepad, pointer, and joystick)
  • Added support of gesture recognition using input sessions

General (screen.h)

  • Added a screen color space types enum containing the values:
  • Added a screen gesture types enum containing the values:
  • Added the following event properties:

Devices (screen.h)

  • Added the following device properties:

Displays (screen.h)

  • Added the following display properties:

Events (screen.h)

  • Added the following screen events:
  • Added a screen event flag types enum containing the values:
  • Added the following event property:

Windows (screen.h)

  • Added the following window properties:

For more information, see Screen Graphics Subsystem Library.

Security Builder Crypto Library


  • Added the following functions:
    • hu_ECGDSAKeySet()
    • hu_ECGDSANoHashSign()
    • hu_ECGDSANoHashVerify()

For more information, see Security Builder Crypto Library.

Smart Card Library

You can use this library to access the smart card functionality on the device, such as encryption, decryption and signing, session management, and retrieval of smart card and card reader information. For more information, see Smart Card Library.


  • Added the following supported cryptographic algorithms:


  • Added the following function:
    • sc_generate_random_data()

Wi-Fi Service Library


  • Added the following function:
    • wifi_aggregator_set_profile_security_wep_key_str()

Back to Top

Changes in this release

Cascades | Core


The value Extended has been added to the A11yRole enumeration.

Identity Service

The value DoesNotExist has been added to the IdentityServicePropertyResult enumeration.

Personal information management (PIM)

In the 10.3 beta release of the BlackBerry 10 Native SDK, the CallHistoryParam class included the searchForContacts() and setSearchForContacts() functions. In the 10.3 Gold release, these functions have been renamed to contactSearchEnabled() and setContactSearchEnabled(), respectively. Also, in the 10.3 beta release, the CallHistoryService class included overloaded versions of the callHistory() function. In the 10.3 Gold release, these functions now use a CallHistoryError parameter instead of a PhoneResult parameter.

In the 10.3 beta release, the MessageMonitor class was included. In the 10.3 Gold release, this class is no longer available.


The value SecuVOICE has been added to the LineType enumeration.

In the 10.3 beta release, you could invoke the Phone app to either assign a phone number to an unassigned key for speed dial or dial the phone number of an assigned key. In the 10.3 Gold release, this functionality is no longer available.

Qt upgrade

Qt has been upgraded to 4.8.6. For highlights of the release, see the Qt Blog.


If your app subclasses WebPage and uses QObject::connectNotify() and QObject::disconnectNotify(), you need to update your app:

Back to Top

Core | Cascades

BlackBerry Platform Services Library


  • Deprecated the following function; use invocation framework APIs instead:
    • navigator_open_file()

Bluetooth Library


  • Deprecated the following constant:


  • Deprecated the following data types:
    • bt_gatt_srv_read_req_cb
    • bt_gatt_srv_write_req_cb
  • Updated the following functions:
    • bt_gatt_srv_send_indication()
    • bt_gatt_srv_send_notification()
    • bt_gatt_srv_set_keepalive()


  • Deprecated the following data type:
    • bt_le_advertisement_cb
  • Updated the following data type:
    • bt_le_callbacks_t


  • Updated the following functions:
    • bt_spp_deinit()
    • bt_spp_close()
    • bt_spp_close_server()
    • bt_spp_get_address()
    • bt_spp_open_ex()
    • bt_spp_get_service_port()

Camera Library


  • The CAMERA_API_VERSION value has been incremented to 3. Apps that use APIs from a later release may have compatibility issues when run on an earlier version of BlackBerry 10. APIs are guaranteed to be backwards compatible, therefore APIs that you use will work on future versions of BlackBerry 10.
  • Deprecated the following enumerators:
  • Deprecated the following functions:
    • camera_get_photo_vf_framerates()
    • camera_get_photo_vf_resolutions()
    • camera_get_photo_vf_rotations()
    • camera_get_photovf_frame_types()
    • camera_get_photovf_property()
    • camera_get_video_vf_framerates()
    • camera_get_video_vf_resolutions()
    • camera_get_video_vf_rotations()
    • camera_get_videovf_frame_types()
    • camera_get_videovf_property()
    • camera_set_photovf_property()
    • camera_set_videovf_property()
    • camera_start_photo_viewfinder()
    • camera_start_video_viewfinder()
    • camera_stop_photo_viewfinder()
    • camera_stop_video_viewfinder()

NFC Library


  • Updated the following functions to include the difference between feature sets:
    • nfc_get_tag_id()
    • nfc_get_tag_name()
    • nfc_llcp_register_connection_listener()
    • nfc_write_ndef_message_to_tag()


  • Deprecated the following function:
    • nfc_se_parse_transaction()


  • Updated the following data types:
    • battery_mode_t
    • nfc_channel_status_mask_t
    • nfc_event_type_t
    • nfc_handover_failure_reason_t

Peripheral Discovery Library


  • Removed the following enum values:

Scoreloop Library

  • Deprecated the SC_InitData_t data structure
  • Deprecated the following functions:
    • SC_ChallengesController_LoadChallengeHistory()
    • SC_GetBPSEventDomain()
    • SC_HandleBPSEvent()
    • SC_HandleCustomEvent()
    • SC_InitData_Init()
    • SC_InitData_InitWithSizeAndVersion()

For more information, see Scoreloop.

Screen Graphics Subsystem Library

  • The following can now be used as properties of device objects:
  • The following can now be used as a property of display objects:
  • The following event type now also applies to sessions:

For more information, see Screen Graphics Subsystem Library.

Back to Top

Fixed in this release

Cascades | Core

Cascades platform APIs

JI: 627923

While you were developing your app, when you set Application::setAutoExit(false) and then closed the app, your app may have appeared to be frozen but it was waiting for debugging to start.

JI: 609843

In some cases, the memoryUsedByCurrentProcess() function may not have returned the correct value for the amount of memory that was being used.

JI: 490079

The Weather app terminated unexpectedly when you tried to add a city while the screen reader was turned on.

JI: 485377

No matter what orientation the device was in, no orientationChanged() signal was emitted when the orientation of the device was changed.

JI: 478389

When you were using a MapView, no useful information was displayed in a location caption dialog box for the radius of a Geolocation, GeoDeviceLocation, GeoPolygon, or GeoPolyline on that MapView. Subsequently, you could not interact with a polygon, line, or radius circle.

JI: 466800

The networkOwnerIpAddress() and networkOwnerHardwareAddress() functions of WiFiDirect returned empty strings.

JI: 455682

Cascades maintains the visible and opacity properties of an ActivityIndicator. An ActivityIndicator became visible (opacity == 1) when it was running, and it was not visible (opacity == 0) when it stopped. As a result, you could not read or set the visible and opacity properties of an ActivityIndicator. If you read or set the visible or opacity properties, it caused unexpected results in your app.

JI: 441438

Generating static image maps with MapImageGenerator took longer than intended.

JI: 436711

In the ValueA11ySpecialization class, the maxValueText, minValueText, and valueText properties were not NULL by default as documented. Instead, these variables all contained empty strings by default.

JI: 377486

An InvokeTargetFilter allowed you to set the MIME type as '*' and register the filter, even if the filter was restricted.

JI: 377476

If you called the InvokeUpdateTargetFiltersRequest::updateTargetFilters() function, a finished() signal was not emitted.

JI: 377331

If you did not have a device password set and you locked your device and then swiped down from the top to put the device in bedside mode, when you tried to wake up the device by swiping up, the password dialog box was not presented or the UI did not respond to the swipe up.

JI: 150791

In a ListView, calling itemRemoved() and itemAdded() with the same index path caused the app to become unresponsive.

JI: 150165

When you used a validator in a password TextField and the validation failed, the errorMessage icon and text were not displayed.

JI: 134626

Progress toasts sometimes timed out incorrectly when show() or exec() was called repeatedly.

Back to Top

Core | Cascades


JI: 513997

The acl_to_text() and acl_from_text() functions weren't safe to use in multithreaded apps.


JI: 617429

In the Security Builder Crypto Library documentation, the functions described for huecpvs.h and huecspeke.h were not available.

Headless apps

JI: 461658

The category type for headless apps was incorrectly returned as "service".


JI: 402296

When installing the Native SDK on Windows XP, you had to specify a different installation location, instead of using the default location. The folder name could not contain spaces.

JI: 402236

After uninstalling the Native SDK, you might have received a warning that some directories couldn't be removed.


JI: 403231

You could not create two contexts with different attributes by calling alcCreateContext(). Errors were produced after attempting to create the second context, you could no longer call alcOpenDevice(), and sound was no longer playable in other OpenAL apps.

Scoreloop SDK

JI: -

On occasion, when you were running the Setup Wizard for the first time either directly from the Games app or using a third-party game, when you clicked the Let’s Play button on the last page of the wizard, the Games app might have closed unexpectedly.

JI: 469817

You couldn't set a profile picture on the edit profile page of the Games app.

Back to Top

Known limitations

Cascades | Core

BBM Social Platform

Apps installed in the work space cannot access the BBM Social Platform. To connect to BBM, your app must be installed in the personal space.

When you retrieve the version number of the BBM Social Platform library that is running on a contact's device, the value returned might be unreliable if the device is running BlackBerry 10 OS version 10.2 or later.

QRC-based resources

If you are using QRC to improve performance in your apps, the new asset selection tool may affect your apps. If asset selection is used, an index file is generated automatically. However, this index file does not include contents that are only included in the QRC binary file. Instead, it lists only the files that reside in the assets directory in your project.

Workaround: Place a copy of QRC-compiled assets in your assets directory. The tool will then include these assets in the index file. When the device loads the app, the appropriate files in the binary are still used and the app continues to benefit from the performance gain of QRC.

Viewers in the invocation framework

Using the invocation framework, viewer-related classes (for example, InvokeViewerMessage and InvokeViewerRequest) and functions have been deprecated. The viewer-related classes and functions have been replaced by Card classes and functions. For more information on the Cards API, see Cards.

Back to Top

Core | Cascades

BlackBerry ID and Signing Authority linking

If you do not register your signing key and your BlackBerry PlayBook debug token with the same client ID, an error will be thrown when you try to link your BlackBerry ID account with a Signing Authority account. A fix will be available in a subsequent release.


Applications using FreeType must add the following include path: $QNX_TARGET/usr/include/freetype2


If an app plays a media stream that's encrypted, the app won't allow video playback if an HDMI display is connected, due to security restrictions. This limitation will be resolved in a subsequent release.

There is a slight delay between tracks played as part of a playlist (approximately 0.5 seconds), even when the playlist includes only one track that is repeating.


  • The OpenAL 1.1 Specification and Reference incorrectly states that the function alcCloseDevice() will fail if the device's contexts and buffers have not been destroyed. alcCloseDevice() actually destroys any contexts and buffers still associated with the device.
  • The function alcGetIntegerv() does not throw an error when retrieving ALC_MAJOR_VERSION and passing an invalid device pointer.
  • The function alcGetString(device, ALC_CAPTURE_DEFAULT_DEVICE_SPECIFIER) throws an error when invoked after the device has been closed. It should return the default device and ignore the device parameter.
  • The OpenAL 1.1 Specification and Reference incorrectly states in the description of the function alcGetString(), "Specifying NULL for deviceHandle when asking for ALC_EXTENSIONS will generate an ALC_INVALID_DEVICE error." In fact, no error is generated.
  • The OpenAL 1.1 Specification and Reference incorrectly states in the description of the function alBufferData() that, "An invalid size will result in an AL_INVALID_VALUE error." In fact, calling alBufferData() with an invalid size does not cause the INVALID_VALUE error.
  • When the function alcMakeContextCurrent() is called with an uninitialized ALCcontext pointer, it correctly returns ALC_FALSE, but does not generate an ALC_INVALID_CONTEXT error.
  • The OpenAL Programmer's Guide - OpenAL Versions 1.0 and 1.1 incorrectly lists AL_INVALID_VALUE as a possible error returned by the functions alGenBuffers() and alGenSources() when the array is not large enough to hold the number of items requested. In fact, no error is generated.
  • The function alSource3f() does not throw an AL_INVALID_VALUE error when invalid numbers are passed as parameters. Apps should perform their own validity checking.
  • The function alSourcef() throws an AL_INVALID_VALUE error for valid values when using AL_CONE_INNER_ANGLE and AL_CONE_OUTER_ANGLE.
  • No error is thrown when the function alutLoadWAVFile() is called without a current context.
  • The function alutGetError() does not return ALUT_ERROR_ALC_ERROR_ON_ENTRY when there was already an ALC error on entry to alutLoadMemoryFromFileImage().
  • In the OpenAL Programmers Guide, AL_DATA is incorrectly documented as a valid buffer property. An attempt to retrieve this property through alGetBufferi() and alGetBufferiv() will result in an AL_INVALID_ENUM error.
  • The deprecated function alutLoadWAVMemory() does not return the expected values.
  • The function alGetListenerfv() does not generate an error when called with an invalid value. Apps should perform their own validity checking.
  • The following attributes are set by the device and cannot be altered using the attribute list of the function alcCreateContext(): ALC_FREQUENCY, ALC_REFRESH, ALC_SYNC, ALC_MONO_SOURCES, ALC_STEREO_SOURCES, and ALC_MAX_AUXILIARY_SEN.
  • The OpenAL 1.1 Specification and Reference incorrectly states that the function alGetEnumValue() sets the error code AL_INVALID_VALUE if the specified enumeration cannot be found. In fact, this error is not set when an invalid enumeration value is specified.
  • The OpenAL Programmer's Guide - OpenAL Versions 1.0 and 1.1 incorrectly states that the functions alcSuspendContext() and alcProcessContext() produce the error ALC_INVALID_CONTEXT when called with a null or destroyed context. However, no error is generated.
  • The function alListener3f() does not generate an error when called with a NULL value for the AL_VELOCITY attribute. Apps should perform their own validity checking.
  • The function ALCGetProcAddress() does not return addresses for the specified context extension functions, even for valid functions. It always returns NULL.
  • The function alSourceQueueBuffers() queues invalid buffers. If you pass a NULL buffer to this function, it will queue the buffer and not raise an error, even though the buffer is not valid.


BlackBerry 10 uses OpenSSL 1.0.1, with the following deviations from the standard implementation:

  • TLSv1.1 and TLSv1.2 support is disabled by default.
  • The heartbeat TLS extension has been disabled. This extension is described by RFC 6520, which is located at http://www.rfc-editor.org/rfc/rfc6520.txt.
  • The list of default SSL/TLS/DTLS ciphersuites has been altered.
  • Applications using SSL/TLS/DTLS connections get a default set of ciphersuites unless they explicitly specify which ciphersuites they want to support using SSL_CTX_set_cipher_list() or SSL_set_cipher_list().
  • The default set of ciphersuites has been changed to "ALL:!aNULL:!eNULL:!SRP:!SSLv2" which eliminates the SRP ciphersuites from the standard default set of ciphersuites provided by OpenSSL 1.0.1.
  • SSL_CTX_new(), which is used to create a new SSL_CTX object for TLS/SSL/DTLS negotiations, has been altered to disable TLSv1.1 and TLSv1.2 support by automatically setting the option SSL_OP_NO_TLSv1_1 and SSL_OP_NO_TSLv1.2.
  • TLSv1.1 and TLSv1.2 will be disabled by default when using SSLv23_method(), SSLv23_server_method(), or SSLv23_client_method(). Applications that need TLSv1.1 support can clear the SSL_OP_NO_TLSv1_1 option by calling SSL_CTX_clear_options(ctx, SSL_OP_NO_TLSv1_1) or can use one of the following TLSv1.1-only methods: TLSv1_1_method(), TLSv1_1_server_method(), or TLSv1_1_client_method(). Applications that need TLSv1.2 support can clear the SSL_OP_NO_TLSv1_2 option by calling SSL_CTX_clear_options(ctx, SSL_OP_NO_TLSv1_2) or can use one of the following TLSv1.2-only methods: TLSv1_2_method(), TLSv1_2_server_method(), or TLSv1_2_client_method().

Payment Service

When you use the BlackBerry 10 Device Simulator to test your apps, your apps cannot communicate with the BlackBerry World servers to test certain Payment Service features. To test Payment Service features on the simulator, you should use Local Mode testing.

If you need to test your apps by interacting with the BlackBerry World servers, you need to run the app on a physical device and use a BlackBerry ID in sandbox mode. For more information about testing apps that use the Payment Service, see Testing in-app purchases.

Scoreloop SDK

Social networks are not supported in this Scoreloop release. APIs related to the following classes are unsupported:

  • SC_Message (Partial)
  • SC_Message_Controller (Partial)
  • SC_SocialController (Partial)
  • SC_SocialNetwork (Partial)

For more information on the Scoreloop SDK, see the following resources:

Back to Top

Known issues

Cascades | Core

BBM Social Platform

JI: 389356
JI: 389093

When the Connect to BBM permission (Settings > Security and Privacy > Application Permissions) is toggled from enabled to disabled or from disabled to enabled, the registration and permission states are not updated. This issue relates to JI: 6118318.
Workaround: Restart the app if permissions have been modified.

Cascades Exporter plug-in for Adobe Photoshop

JI: 508525

When using Cascades Exporter with an installation of Adobe Photoshop that uses French as the default language, a "Problem null" dialog box might be displayed when you export a project, indicating that the export process fails.

Cascades platform APIs

JI: 709268

A headless app triggered by a recurrent rule with a count limit is triggered one more time than the count limit.

JI: 701824

The headless application trigger for a recurring timer does not work as expected.

JI: 677902

A BadRequest error message is returned by InvokeReply when registerTimer() is called with an incorrect target defined in the bar-descriptor.xml file.

JI: 676677

A BadRequest error message is returned by InvokeReply when deregisterTimer() is called with an unregistered timer ID.

JI: 632555

The captureDisplay() function does not display the Permission Required dialog box and returns PermissionDenied when using the simulator.

JI: 624014

The SystemProgressToast::autoUpdateEnabled property is not available in the bb.system 1.2 library when using the simulator.

JI: 614953

The AutoCapitalize value doesn't work for the inputField of a SystemPrompt dialog box.

JI: 591348

When you restart your device, a system-started headless app fails to fire notifications intermittently.

JI: 581431

On some BlackBerry Z3 devices, the displayName() function in the DisplayInfo class may not display the name properly.

JI: 567242

If you perform a Box2Box transfer of a folder using InvokeManager, the folder is changed into a file and then transferred.

JI: 567047

The Push Service does not work on the simulator.

JI: 549616

The Smart Card API allows you to register Application Type and not just Headless and Service Type.

JI: 534927

When using an SKU to purchase an item, the purchase receipt shows an empty digital good ID.

JI: 481294

If you have a headless app that detects SMS and geofencing triggers, the app still gets invoked even if the permissions are disabled.

JI: 480352

Invoking a video chat such as BBM Video from a headless app brings the UI to the foreground.

JI: 468275

Opening a large number of cards can cause the device to become unresponsive.

JI: 449197

GeoPolylines and GeoPolygons don't render if they cross 0, 180, or -180 degrees longitude or latitude.

JI: 449189

Dotted and dashed edge styles don't render when you're using GeoDeviceLocation.

JI: 449188

Dotted and dashed edge styles don't render when you're using GeoPolygon.

JI: 449170

If you're using a GeoPolygon, inner boundaries don't render.

JI: 389904

When reading a URI tag that contains "pin", the BBM app doesn't handle the content of the tag, but the Smart Tags app does and invokes the URI.

JI: 284877

An established TCP connection over the cellular network interface fails when Wi-Fi is enabled on a device that is initially connected to a mobile network with Wi-Fi disabled.

JI: 150783

There is missing documentation on QtNfcSubset classes including some enumerations and constructors in QNdefRecord, QNdefMessage, QNdefNfcSmartPosterRecord, QNdefNfcTextRecord, and QNdefNfcUriRecord.

JI: 150357

The ArrayDataModel::move() function does not work as expected.

JI: 149929

When you set a URL property for a QML object, file paths are case-sensitive when they should be case-insensitive. For example, “FILE:app/native/assets/contacts.json” and “file:app/native/assets/contacts.json” should be treated the same, but are not. Also, a URL that’s defined in QML may result in a URL that has part of the path duplicated.

JI: 146568

In QML, the connect keyword cannot be used to connect the touch() signal of a Control to a function.

JI: 144760

The ArrayDataModel::indexOf() function sometimes returns 3 in cases where it should return -1.

JI:   86080

On the BlackBerry 10 Device Simulator, if you connect the windowGroupInvisible() and processStateChanged() signals and then minimize the app, neither signal is emitted.

JI:   85749

InvokeRequest::setMetaData() doesn't work correctly if a QByteArray as part of the QVariantMap is passed in.

JI:   85463

When using cards in an app that is run on the BlackBerry 10 Device Simulator, rotating the simulator may cause the UI to become distorted.

JI:   84881

When you add a custom URI to an InvokeTargetFilter and then retrieve the list of custom attributes, the size of the custom attribute list is reported as 0. The documentation does not specify that the returned size will be 0.

Cascades UI framework

JI: 705782

If you enter an existing chat on some devices, the text focus is not automatically set to the input field.
Workaround: Tap the text field to begin typing.

JI: 700238

On some devices, if you set the device language to any right-to-left language and enter text in a message, the text may not display properly.

JI: 694886

In bb::cascades::QListDatamodel and bb::cascades::ArrayDatamodel, the signals itemAdded() and itemRemoved() are no longer sent when an item is moved. The new signal itemMoved() is sent instead.

JI: 689059

If you launch an app in portrait mode and swipe down to view the application menu, then switch to landscape mode and swipe down again, the number of menu items may be different.

JI: 659080

When you start the Pictures app for the first time, you may see black rectangles in the list of images.
Workaround: Close the app and restart.

JI: 580371

If you have a FlowListLayout or GridListLayout list with three or more columns and emit an itemsChanged() signal, then the list may jump to the top.

JI: 388259

When you have a WebView and call storage()->clear(), the WebView storage is not cleared.
Workaround: Use a render fence to set up WebView storage after the WebView has been rendered.

JI: 381511

When the keyboard is displayed in an app (for example, if a user taps a text field), the transition of the page content is not in sync with the appearance transition of the keyboard.

JI: 381185

When calling clear() on an empty ArrayDataModel, the itemsChanged() signal is emitted.

JI: 381402

StandardListItem renders text from right-to-left languages left justified.

JI: 150377

When creating CustomControl objects, the Container that is set as the root is being wrapped by a phantom Control.

JI: 149804

Using a DropDown control and trying to remove the option at index 0 while the option at index 1 is selected may cause the app to terminate unexpectedly.

JI: 149613

Calling bb::cascades::QmlDocument::create() in a non-Cascades app may cause the app to terminate unexpectedly.

JI: 149509

The setKey() function in the Shortcut class can erroneously accept invalid strings (for example, strings that don't correspond to an acceptable shortcut).

JI: 148647

If an implicit or explicit animation occurs immediately after an orientation change of the device, the animation does not play but instead jumps to its final position. For example, this issue may occur if animations are started from the rotationCompleted() or orientationChanged() signals.

JI: 148249

When a ListView control's flick mode is set to a non-default value and a slot function is connected to the flickModeChanged() signal, calling the resetFlickMode() function doesn't set the flick mode back to the default value and no signal is emitted.

Back to Top

Core | Cascades

Camera Library

JI: 591369

If the battery level is below 3300 mV, the flash still flashes.

JI: 492681

In the Camera Library offline documentation, the following functions and data type should not have been included:

  • camera_get_supported_video_vf_modes()
  • camera_get_video_vf_mode()
  • camera_set_video_vf_mode()
  • camera_video_vf_modes_t


JI: -

The documentation that is embedded in the library header files for the following APIs may not be the most recent:

For the most up-to-date documentation, refer to the online documentation for each library.

JI: -

The SCREEN_PROPERTY_GESTURE_RECOGNITION property is included in the documentation but is not available for use.

JI: -

We are hard at work creating an awesome UI experience for you! While we are doing this, some references to the BlackBerry 10 UI, including screenshots, may not reflect what you see in the current software.

JI: -

In previous releases, the most recent version of the BlackBerry Platform Services library (libbps) was bundled with the Native SDK. This version was newer than the version on the target OS. To ensure the correct BPS library version was used by applications at run-time, projects in the Native SDK 1.0 would:

  • Use BPS headers from the $QNX_TARGET/../target-override location for compilation,
  • Link the libbps.so from the $QNX_TARGET/../target-override location to generate the application executable, and
  • Package the libbps.so from the $QNX_TARGET/../target-override location in the BAR.

JI: -

As of the Native SDK 2.0.0 release, BPS no longer resides in the target-override location. The BlackBerry 10 OS and BlackBerry 10 Native SDK versions of this library are in sync. If you have applications targeting BlackBerry 10 that you no longer want to support on PlayBook 1.0.x, you should remove the libbps.so.1 asset from bar-descriptor.xml and target the BlackBerry 10 version of the Native SDK. To verify, select the QNX page in the project properties dialog box. Otherwise, packaging of the BAR file will fail because it will not be able to find the libbps.so file to include in the BAR.

JI: 393737

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.


JI: 702478

While recurrent timers support a time granularity measured in seconds, the navigator APIs support only a granularity measured in minutes.

JI: 673493

When you have several apps open and you swipe to view the BlackBerry Hub, you may see a black screen.
Workaround: Close all open apps and wait for the screen to refresh.

JI: 633678

Sometimes an email sent from Microsoft Outlook might be received with errors in the message.

JI: 616187

When you open an email, the time and date information overlap the sender's name.

JI: 615489

In some cases, your device might reset unexpectedly when trying to answer an incoming video chat call from a BlackBerry PlayBook tablet.

JI: 606281

If you try to listen to radio station 108.0, you get an error.

JI: 602576

Sometimes, your BlackBerry device won't pair properly with a Bluetooth enabled device, such as a headset.

JI: 600751

If you are listening to music over a Bluetooth connection, the music might skip at frequent intervals.

JI: 578240

Sending a URL that ends with a closing bracket ')' or is followed by punctuation is not parsed correctly.

JI: 547323

While watching to a video file, if there is considerable jiggling of the wires, the volume increases and you can't turn it down.

JI: 450995

If you save an EAS contact to your address book and change the name, and you send an email to that contact, the name might change to the global name in the BlackBerry Hub.

Headless apps

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 work space, in the Momentics IDE, perform the following steps:

  1. In the Project Explorer view, select your headless service.
  2. In the Launch configuration drop-down list, select Create New Launch Configuration.
  3. Click Debug.
  4. Click Next.
  5. Click C/C++ QNX QConn(IP).
  6. Click Next and then Finish.
  7. In the Launch mode drop-down list, select Attach.
  8. Click the Launch button. The Debug perspective appears with the list of processes that can be attached to.
  9. Select the headless service process. The debugger stops at a default breakpoint of the service.
  10. Continue debugging.


JI: 394200

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


JI: 403249

When using OpenAL to play sound on the device and an HDMI cable is plugged in, the sound does not transfer on to the connected device.


JI: -

In the IDE help, the correct Record Phone permission is read_phonecall_details and not read_phone_call_details.

Scoreloop SDK

JI: 667474

The "score formatter" parser expects the mode and level definitions in numerical order. You can modify the score formatter file that you downloaded from Scoreloop and then add it to the app as a resource. However, if the order is not maintained and Scoreloop APIs that rely on score formatter parsing are used, the app will terminate unexpectedly.

Back to Top


Native SDK 10.2 Release Notes

Native SDK 10.1 Release Notes

Native SDK 10.0 Release Notes

Back to Top

Last modified: June 27, 2014