Titanium Mobile SDK Release 2.0.1 is a feature release of the Titanium Mobile SDK, including several new features and a number of bug fixes and parity improvements.
This is Release 2.0.1.GA Revision 2. The initial 2.0.1.GA release was missing the Appcelerator Cloud Services modules (Titanium.Cloud and Titanium.CloudPush). If you installed the initial GA release, please install this version to receive the ACS modules.
This release includes breaking changes that may require changes to existing applications developed with previous releases. Please read these release notes completely before installing and using the Release 2.0.1 SDK. In particular, you should review the following sections:
If you are upgrading from Titanium Mobile SDK 22.214.171.124 or earlier, this release also includes all fixes included in Releases 1.8.1 and 1.8.2.
For a list of issues addressed in these releases, see the release notes for the previous releases:
Note that Release 1.8.1 included fixes related to developing modules. If you are developing iOS or Android modules, see the 1.8.1 Release Notes for more information.
Further information is available in the Titanium Mobile SDK and Titanium Studio Documentation.
Layout System Updates
Support for Appcelerator Cloud Services (formerly CocoaFish)
Mobile Web Platform Release Candidate
Android Geolocation Enhancements
Defined Module APIs for Android and iOS
This release implements the Composite Layout Specification, a major update to the UI layout system. The composite layout specification involves several changes to the way the UI system lays out controls, so that all platforms can follow a common layout model.
The major changes to the layout system involve:
These changes affect UI behavior on all platforms, and may require application changes.
For details, see Transitioning to the New UI Layout System in the Titanium Mobile Guides.
This release includes bundled Titanium modules for using Appcelerator Cloud Services (ACS). ACS provides a range of backend services for mobile applications, including user management, social integration, data storage and push notifications.
The ACS modules are documented in the main API reference, but they are not included
in the Titanium core. To use the main ACS module, you must import it using
var Cloud = require('ti.cloud');
To use ACS push notifications on Android, you must also import the
var Push = require('ti.cloudpush');
To use ACS services, you must enable ACS for your project. See Appcelerator Cloud Services in the Titanium Mobile Guides for details on how to enable ACS in a Titanium project.
For further documentation and examples of using ACS in Titanium, see the API reference for
ACS also provides a REST API and native SDKs for many platforms. For more information, visit cloud.appcelerator.com.
The Mobile Web platform is now officially in Release Candidate status.
The majority of the Titanium Mobile API is now implemented for Mobile Web.
Specifically, Mobile Web implements a cross-platform subset of the Titanium Mobile APIs, excluding any platform-specific APIs and any APIs that require features not available to applications running in a browser.
The following features are not yet implemented for Mobile Web, but will be supported in a future release:
Titanium.Locale-- local locale specific date/currency formatting is not yet implemented. Localized messages are implemented.
The following UI controls are not implemented because they are platform-specific controls that have not yet been moved to a platform-specific namespace.
Titanium.Contacts module is not supported because no standard exists to
expose a device's contacts data to applications running in the browser.
Certain APIs are subject to limitations on Mobile Web because of the constraints imposed on application running in the browser. For more information, see Mobile Web Limitations.
This release includes several improvements for geolocation on Android, and a new "simple mode" for geolocation that is supported on Android, iOS, and Mobile Web.
Simple mode has two
This provides a simple, cross-platform mode for configuring location updates.
This is the only mode supported on Mobile Web. On iOS and Android, this
mode should only be used for applications with basic location requirements.
For applications that have more demanding location requirements on Android, there is a new manual mode for fine-grained control of location updates.
On iOS, applications can continue to use the existing geolocation capabilities.
NOTE: Applications using the existing geolocation capabilities in Android should either switch to simple mode or to manual mode.
For details on the new geolocation support, see:
In this release, the native APIs that can be used by native Android and iOS modules have been documented. The module APIs are not integrated into the main documentation site, but you can find them at the following locations:
This section lists the most notable known issues and regressions in this release.
iOS: WebView canGoBack/canGoForward does not work for local files. (TIMOB-7965)
iOS: VideoPlayer does not fire touch events. This was a regression in Release 1.8.1. (TIMOB-8486)
Android: Titanium.CloudPush module does not work with Android OS 3.0 and newer. A fix for this issue is being tested and an updated module will be made available soon. (CLOUDSRV-429)
Geolocation enhancements. See Android Geolocation Enhancements and Geolocation Simple Mode.
Support for Android SDK Tools Revision 17, Revision 18, and Revision 19.
Support for background image tiling on a view. This feature was added for iOS in Release 1.8.1. (TIMOB-6586)
Several fixes related to WebViews:
Fixed a regression where a WebView reloaded when it was removed from the view hierarchy, and then re-added. (TIMOB-7808),
Fixed a web view crash that occurred when handling the back button. (TIMOB-7695).
Resolved a crash when reusing a web view on an activity window. (TIMOB-8267)
Improved open event handling for tabs. (TIMOB-8192)
For a complete list of Android fixes in this release, see: Fixed Android Issues in JIRA
The following section lists notable bug fixes in iOS.
Added support for Xcode 4.3 and iOS 5.1. See Using Xcode 4.3 for details.
Added support for the iPad 2012.
Improved CommonJS module encoding.
Titanium.Platform.id now returns a per-application unique ID, instead of
the Apple UDID.
This change was required because Apple has changed its policies, and apps using UDID may now be rejected from the app store. (TIMOB-8173)
Newsstand content notifications. (TIMOB-5910)
For a complete list of iOS fixes in this release, see: Fixed iOS Issues in JIRA.
In previous releases of Xcode, when a new version of Xcode was installed, the installer
xcode-select command to set the new version of Xcode as the active version.
With Xcode 4.3, Xcode is installed by default in a different directory (under
/Applications instead of under /Developer), and it does not run
xcode-select to update
the Xcode path. If you have both Xcode 4.2 and Xcode 4.3 installed, you will need
xcode-select manually to determine which version of Xcode is used.
To select Xcode 4.3, run the following command:
sudo xcode-select -switch /Applications/Xcode.app/Contents/Developer
To select Xcode 4.2, run the following command:
sudo xcode-select -switch /Developer
If you installed either version of Xcode in a non-default location, you will need to specify the appropriate path in the command.
With this release, the Mobile Web platform is a Release Candidate. See Mobile Web Platform Release Candidate Status for a summary of what is currently supported in Mobile Web as well as known limitations.
For a complete list of Mobile Web fixes in this release, see: Fixed Mobile Web Issues in
This release includes a number of documentation fixes and enhancements, including the new unified documentation site for the Titanium Mobile SDK and Titanium Studio:
Known Issues With the Documentation Site
For a complete list of documentation fixes in this release, see: