Ext version tested:
  • Sencha Touch 2.0.1.1 (commercial)
  • Sencha SDK Tools 2.0.0-beta3-windows
Mobile platform tested against:
  • Apple iOS 5.1.1
Description::

When using UTF8-encoded JS strings for title, message, or buttons parameters of Ext.device.Notification.show(): Characters with Unicode codes beyond U+007F are not displayed properly in the dialog window appearing on the device.

Steps to reproduce the problem:
  • Create a Sencha Touch 2 application which uses Ext.device.Notification.show() to display a native iOS dialog with some text in it
  • Pass UTF8-encoded JS strings to title, message, and buttons parameters of Ext.device.Notification.show()
  • Ensure that the strings contain Unicode characters with codes beyond U+007F (e.g. use some Cyrillic characters in the U+0400 - U+04FF range)
  • Build the native app for iOS with Sencha SDK Tools and install it on iPhone or iPad
  • Run the application and trigger calling the native dialog on the device screen
The result that was expected:
  • The dialog is show with all the UTF8 characters properly displayed
The result that occurs instead:
  • The dialog is shown where each UTF8 character beyond U+007F is replaced with a pair of completely different UTF8 characters
Additional comments:

It seems like NSString is not properly created (encoded) from the original JavaScript string in stbuild, in the current implementation of Notification.show().

Debugging already done:
  • Please, see my further analysis and suggestions on the likely root-cause in my next post below, inside this thread.
Possible fix:
  • not known for this reported case with native iOS dialogs called from Sencha Touch 2 apps and with the usage of stbuild (using non-native dialogs and using PhoneGap is not suitable for my purposes at the moment)

Any comments or suggestions on this issue from the Sencha team will be appreciated.