We’ve been hard at work, furiously testing 2.1.3 against the latest iOS 6 and iPhone 5. With the help of you, the community, we’ve uncovered and addressed an additional 27 issues since the last RC, bringing 2.1.3 to a total of over 50 resolved items.
Because we prefer to release a high-quality product rather than rush something out the door, we are placing the full release on a short delay to accommodate the late influx of additional iOS 6 and iPhone 5 issues. This allows us to include both sets of fixes in a single release rather than in a separate 2.1.4. To do it, we’d like to ask your help once more. We’re releasing a RC2 today with fixes for all (save one) known issues we’ve uncovered from our and your testing. Please test on it, use it in your apps, and let us know ASAP in JIRA if anything still looks awry. Our original schedule anticipated a release date of September 28th. Barring any major issues found as a result of this additional testing, we expect to release a GA version of 2.1.3 next week, still ahead of our traditional 30-day window.
To install the latest SDK using Titanium Studio, see the installation instructions or follow these steps:
- Using a browser, right click a SDK archive download link and copy its URL. You can access the 2.1.3 RC SDK downloads here:
A list of what has changed since RC follows below. We are including them here, as some of the notes are very important, and we wanted to make sure they were highly visible. The original release notes for RC1 are here: release notes.
There is one outstanding issue (TIMOB-11174) which deals with requesting permissions to view contacts on iOS 6 devices. This fix is currently in testing and will appear in the final GA.
iOS 6 Notes
As of iOS 6, embedded YouTube URLs in the form of https://www.youtube.com/watch?v=oHg5SJYRHA0 will no longer work. These URLs are for viewing the video on the YouTube site, not for embedding in web pages. Instead, the format that should be used is described here: https://developers.google.com/youtube/player_parameters.=
On iOS 6, a modal window cannot be displayed in the upside-down portrait orientation. Attempting to open a modal window with UPSIDE_PORTRAIT as the only allowed orientation causes the application to crash. UPSIDE_DOWN orientation for modal windows is not supported on the iPhone idiom only. It is supported on the iPAD idiom.
Grouped TableView Backgrounds
On iOS 6, using Titanium.UI.iOS.COLOR_GROUP_TABLEVIEW_BACKGROUND or ‘stripped’ as a color value no longer produces the standard group tableview background pattern. This is a change in iOS, and the corresponding iOS constant can no longer be used to specify the background texture.
Group style table views still default to using the standard iOS group table view background texture if no background color is specified. However, specifying one of these values explicitly on iOS 6 and above results in a black background color.
ARMv6 Support and Min iOS Version
The ARMv6 architecture is no longer supported in iOS 6. Starting in Release 2.1.3, ARMv6 is not targeted when building for the iOS 6 SDK, or if the min iOS version is set to 4.3 or above.
To set the min iOS version for an application, add the
min-ios-ver element to the application’s ‘tiapp.xml’ file:
<ios> <min-ios-ver>4.3</min-ios-ver> </ios>
Note that when building for the iOS 6 SDK, the console log displays the message:
[INFO] Minimum iOS version: 4.0
In fact, when building for iOS 6, the minimum iOS version is set to 4.3 unless otherwise specified, and the log message is in error. This is a known issue (https://jira.appcelerator.org/browse/TIMOB-11026).
Fixed iOS Issues since 2.1.3.RC
- TIMOB-11065 iOS: Sound proxy hanging on play from remote event.
- TIMOB-11058 iOS 6: Picker: picker fails to update orientation on device rotate. This was an issue with modal windows on iOS 6, which also affected other modal window types.
- TIMOB-11045 iOS 6: On iPhone 5 simulator and potentially on iPhone 5, the correct splash screen is drawn then replaced by the @2x before app launch.
- TIMOB-11044 iOS 6: className attribute returns ‘TiUITableViewRowProxy’ instead of the actual class name.
- TIMOB-11030 iOS 6: Applying background color constants or “stripped” color to modal window results in the modal window being black
- TIMOB-11010 iOS 6: Title control vanishes. If the root tab window has both a bar image and a title control set, and a window is closed, the root title control vanishes.
- TIMOB-10998 iOS 6: TableView – On a tableview using iOS TableViewStyle.GROUPED, the tableview’s background color or image was not displayed.
- TIMOB-10973 iOS 6: Child window not opening if parent window has modal property set to true. Note that opening a window on top of a modal window is not recommended, but this issue has been fixed to ensure backwards compatibility with iOS 5.
- TIMOB-10972 iOS 6: Window orientation modes are neglected for second level child window.
- TIMOB-10945 iOS 6: Default templates do not include iPhone 5 splash screen.
- TIMOB-10929 iOS 6: ButtonBar/ TabbedBar. When set as a title control, the button bar or tabbed bar does not automatically size to fit into the navigation bar on iOS 6.
- TIMOB-10928 iOS 6: The video player is not displayed in fullscreen even after setting fullscreen proporties to true in Ti.Ui.createVideoPlayer. (Known issue in RC)
- TIMOB-10892 iOS 6: Map view: App gives error when an invalid region is specified. (Known issue in RC)
- TIMOB-10891 iOS 6: Repeatedly opening a tab group containing a map view crashes the application. (Known issue in RC)
- TIMOB-10856 iOS: Implicit height calculation in vertical layouts are incorrect.
- TIMOB-10831 iOS 6: Log output from iOS 6 device builds does not appear in the Xcode 4.5 console.
- TIMOB-10796 iOS: TabGroup.activeTab returns the tab index instead of the tab object after setting active tab using setActiveTab. This appears to be a regression introduced after Release 2.0.2.
- TIMOB-10678 iOS: App rejected for use of non-public API ‘_updateTitleView’. This regression was introduced in a previous release, and was caused by an internal method that shared the same name as a non-public iOS method.
- TIMOB-10243 iOS: dyld: DYLD_ environment variables being ignored because main executable (/usr/bin/osascript) is code signed with entitlements. (Known issue reported in 2.1.2 Release Notes.)
- TIMOB-10229 iOS: KitchenSink: No playback could be heard after recording audio. This was an issue in the sample code.
- TIMOB-10885 iOS 6: Update Titanium Mobile default template with iPhone-5 compatible splash image
Fixed Android issues since 2.1.3 RC:
- TIMOB-11020 Android: In 2.1.3 RC if borderWidth is used, show/hide on the border does not work and all views added on top will be hidden behind the border.
- TIMOB-10166 Android: BorderRadius on TableView doesn’t clip content on Android, Ti 2.1.0.
- TIMOB-8689 Android: Setting height to Ti.UI.SIZE on a TableViewRow causes the row to not display.
- TIMOB-8648 Android: android:back listener reacts when using “back” to dismiss keyboard.
- TIMOB-5077 Android: In the KitchenSink Hide Soft Keyboard example, pressing the home button leaves the soft keyboard displayed