# Titanium SDK 9.2.0.GA - 23 September 2020
# About this release
Titanium SDK 9.2.0 is a minor release of the SDK, addressing high-priority issues from previous releases.
As of this release, Titanium SDK 9.1.x will not receive updates more than six months after the release of 9.2.0 (2021-03-15). Any needed fixes will be in 9.2.x or later supported releases within the 9.x branch. See Axway Appcelerator Deprecation Policy (opens new window) and Nominal Lifetimes (opens new window) documents for details.
❗️ Warning
With the release of Titanium SDK 9.0.0, we no longer support Node.js 8.X. Node 10.13.0 is the new minimum supported version.
# Overview
Titanium SDK 9.2.0 is primarily focused on providing support for iOS 14 and Xcode 12. Fixing high priority issues, adding support for new APIs, support for using xcframeworks in native modules, as well as a beta for macOS support via Mac Catalyst.
# macOS support
This release includes an initial beta for supporting macOS applications via Mac Catalyst (opens new window), which allows you to run your iOS application on Mac as if they were apps built for the Mac.
This initial beta mostly focuses on enabling the target and necessary build changes, but most of the core SDK APIs work out of the box however there are a some items worth mentioning:
As the application is run in a sandbox, we inject entitlements for certain sandboxed APIs by default. In a future release we will look to detect API usage and inject these automatically
Most core modules have been rebuilt for macOS support, with the notable exception of ti.facebook
Certain APIs that require custom entitlements, such as the KeyChain access in ti.identity or ti.applesignin, currently will not work with the macOS target
Currently there are no new APIs exposed for macOS development such as Menu APIs. As a result apps will feel more like an iPad app currently.
Currently the only way to build is to using the CLI via
ti build -p ios -T macos
We will iterate on the macOS support in the coming releases and when we feel that it's stable enough we will remove it from beta. But we encourage you to give it a spin, and report any issues you might find to us on our GitHub Issues (opens new window).
# Rebuilding iOS modules
It is not required, but it is heavily recommended to rebuild your native modules with SDK 9.2.0. Not doing so will produce a warning during application build and will lead to build failures when Apple ships the upcoming "Silicon Macs". To build your application to macOS it's also required to rebuild the module.
To update your module:
Update the titanium.xcconfig file with the following
Ensure the TITANIUM_SDK_VERSION is pointed to a 9.2.0 SDK
Edit the FRAMEWORK_SEARCH_PATHS value to be $(inherited) "$(TITANIUM_SDK)/iphone/Frameworks/**"
Update the manifest file
minsdk should be 9.2.0
We recommend bumping the version to the next semver major
For an example of the changes required, see the PR to update ti.coremotion (opens new window)
# Community Credits
Hans Knöchel
TIMOB-28147 (opens new window) - support app clips (56b8da4 (opens new window))
add since version for Ti.UI.Picker.datePickerStyle (ab250c3 (opens new window))
TIMOB-28104 (opens new window) - support new date picker styles (d3cdfc5 (opens new window))
Michael Gangolf
add missing line in scrollableview example (dbdb869 (opens new window))
fix Ti.UI.Window.extendSafeArea default value text (136620c (opens new window))
# Bug Fixes
# Android platform
- TIMOB-28090 (opens new window) - allow node to clear event loop (d6d9a5b (opens new window))
# iOS platform
TIMOB-27132 (opens new window) - fix location of Ti.Filesystem.applicationDataDirectory on macos (9caf847 (opens new window))
TIMOB-28138 (opens new window) - optionally build macos and/or ios arm64 sim (ed7d149 (opens new window))
TIMOB-28130 (opens new window) - remove Frameworks directory prior to copying (405e179 (opens new window))
TIMOB-28099 (opens new window) - remove old tiverify.xcframework references from project (cd7c270 (opens new window))
tweak titanium.xcconfig template to use variables in sdk path (7da6dbd (opens new window))
TIMOB-28130 (opens new window) - unmark product directory to prevent removing required files (635d08c (opens new window))
TIMOB-28143 (opens new window) - use TITANIUM_SDK variable to point at xcframework path in xcode project (559b5bc (opens new window))
use xcodeTargetOS of 'iphoneos' for mac catalyst (60220c7 (opens new window))
TIMOB-28142 (opens new window) - when building module test project, unzip via spawn to avoid max buffer error (345eee1 (opens new window))
added missing left (“) (ff27c9b (opens new window))
TIMOB-28108 (opens new window) - allow Ti.UI.RefreshControl.tintColor to accept a semantic color (815a0fc (opens new window))
TIMOB-28113 (opens new window) - do not update properties if transition animation (4a835fd (opens new window))
TIMOB-28062 (opens new window) - enable swift development in Titanium (2b4aa7b (opens new window))
TIMOB-28116 (opens new window) - exclude arm64 arch for sim target if native modules aren't xcframeworks (faba6e1 (opens new window))
TIMOB-28042 (opens new window) - exclude arm64 architecture from simulator build (178bf92 (opens new window))
fix Ti.Filesystem.getAsset and getFile on devices (f57e938 (opens new window))
TIMOB-27985 (opens new window) - fix to add resources and sources file in widget extension (4b97cec (opens new window))
gaurd code for MediaModule on xcode 11 to avoid compile issues (a9dae74 (opens new window))
TIMOB-28112 (opens new window) - guard new picker types (fa8f547 (opens new window))
handle adding Ti.UI.Shortcut when existing array is nil (82e011a (opens new window))
modify BOOL to bool for return types to fix JS representation (0b251e2 (opens new window))
TIMOB-28100 (opens new window) - only include presentationControllerDidDismiss when photogallery is used (14a5e5b (opens new window))
TIMOB-28126 (opens new window) - rely on flush interval (0c83fab (opens new window))
TIMOB-28091 (opens new window) - update liveview for ios 14 compatibility (e89065b (opens new window))
TIMOB-28101 (opens new window) - use arc to create corner radius instead of qudratic curve (b5ed723 (opens new window))
TIMOB-28103 (opens new window) TIMOB-28110 (opens new window) - view shadow missing with multiple borderRadius values (2a38bf3 (opens new window))
fix location of Ti.Filesystem.applicationDataDirectory on macos (9caf847 (opens new window))
# Multiple platforms
- TIMOB-28094 (opens new window) - process.toString() (a15f7f6 (opens new window))
# Features
# iOS platform
TIMOB-27986 (opens new window) - support xcframeworks in modules/platform folders (b2ccfbf (opens new window))
TIMOB-28077 (opens new window) - added new error constant and updated doc for local network privacy (f8de8c0 (opens new window))
add Ti.Blob.toArrayBuffer() (e42bbcb (opens new window))
TIMOB-28098 (opens new window) - add Ti.Platform.versionPatch (a78e9cc (opens new window))
TIMOB-27984 (opens new window) - allow multiple photo selection (04b4292 (opens new window))
build modules as xcframeworks (w/ macos support) (5b766ae (opens new window))
TIMOB-28012 (opens new window) - expose new APIs to customize paging control (6acad54 (opens new window))
TIMOB-27976 (opens new window) - expose new APIs to use location AccuracyAuthorization (a55f9a3 (opens new window))
TIMOB-27987 (opens new window) - expose new iOS 14 APIs in Ti.UI.WebView (840b0d2 (opens new window))
TIMOB-27132 (opens new window) - support macos/dist-macappstore targets (cfac6e4 (opens new window))
TIMOB-28078 (opens new window) - support new APIs timeoutForResource and waitsForConnectivity (09f20d2 (opens new window))
TIMOB-28116 (opens new window) - use/support/build xcframeworks (133527e (opens new window))
# Multiple platforms
TIMOB-28061 (opens new window) - add os version major/minor int constants (3fd8535 (opens new window))
TIMOB-28061 (opens new window) - add OS_ANDROID/OS_IOS for non-transpiled builds (b21c5d7 (opens new window))
TIMOB-28098 (opens new window) - add OS_VERSION_PATCH global (86d33df (opens new window))
TIMOB-28093 (opens new window) - add uprightWidth/uprightHeight props to Ti.Blob (09b4591 (opens new window))
TIMOB-28070 (opens new window) - add vscode config files to app templates (f8ef53a (opens new window))
TIMOB-28030 (opens new window) - add WebView blockedURLs property (9006c00 (opens new window))
# Android platform
add Ti.Blob.toArrayBuffer() (36e7244 (opens new window))
TIMOB-28098 (opens new window) - add Ti.Platform.versionPatch (587ddea (opens new window))
support converting byte[] to ArrayBuffer (9e77600 (opens new window))
# Performance Improvements
# Multiple platforms
- make buffer shim more efficient (9efe874 (opens new window))
# SDK Module Versions
Module | Android version | iOS Version |
---|---|---|
10.0.0 | 9.0.0 | |
ti.cloudpush | 7.1.0 | n/a |
ti.map | 5.0.1 | 4.0.0 |
ti.webdialog | 2.0.0 | 2.0.0 |
ti.playservices | 17.1.1 | n/a |
ti.identity | 3.0.2 | 2.0.0 |
urlSession | n/a | 3.0.0 |
ti.coremotion | n/a | 3.0.0 |
ti.applesignin | n/a | 2.0.0 |
ti.cloud | 3.2.11 | 3.2.11 |
hyperloop | 6.0.0 | 6.0.0 |