WWDC 2019: Recap and Titanium Support

Last week, a couple Axway engineers (including me!) attended Apple’s WWDC in San Jose. You can find a recap of features announced during the live keynote in this blog.

WWDC 2019 Entrance

Today, I’ll explain how the announcements affect Titanium and what you can expect in the coming months.

What’s new for Titanium?

  • Sign in with Apple
    Apple introduced a new way to simply and quickly sign into apps. Instead of using a social account login or filling out forms, customers can use their Apple ID to authenticate. Sign In with Apple will make it easy for users to authenticate with Face ID or Touch ID and has two-factor authentication built in for an added layer of security. In Titanium, we’ll expose the APIs to developers via a native module shipped with the SDK, which will help to keep the SDK lightweight.
  • UITextSearchField in UISearchBar
    In iOS 13, Apple will provide new APIs to customize a search bar’s text field. Read more about this feature here. For Titanium, we will expose new APIs in Ti.UI.SearchBar to allow customization.
  • Multiple row selection in iOS Table View
    Starting with iOS 13, it will be possible to automatically transition iOS table views into editing mode and to start selecting cells using a two-finger pan gesture. It can help users in situations where they want to perform similar operations on all selected rows e.g. Delete. In Titanium, we’ll expose a new property on ListView to enable multiple selection of Titanium ListView rows and a new event which will be fired when user stops selection.
  • Dark Mode Support
    In iOS 13, Apple has embraced Dark Mode, a new dark color scheme that works system-wide and across all native apps to deliver a great viewing experience, especially in low-light environments. To support this in Titanum, we’ll expose new APIs through Ti.Color. For images, context-based images should be added to the project assets.
  • SF Symbols support
    In iOS 13, Apple has provided SF Symbols, a set of over 1500 consistent, highly configurable symbols which can be used by developers in their apps. To browse the full set of symbols, download the SF Symbols app from here. Through the Titanium SDK, we’ll expose the required APIs to allow the use of these symbols. e.g UIImageSymbolIconConfiguration APIs.
  • Multiple window support in iPad
    In iOS 13 and later, a user can create and manage multiple instances of your app’s user interface simultaneously and switch between them using the app switcher. On an iPad, a user can also display multiple instances of your app side-by-side. Each instance of your UI displays different content or displays content in a different way. In Titanium, we are working on how best to implement this feature to ensure that only minimal if any code changes are required by developers. Stay tuned for more information on this feature.
  • Mac target support
    Starting with macOS Catalina and Xcode 11, Apple has announced that developers can create Mac versions of iPad apps using UIKit. We are evaluating the changes that would be required to support this in Titanium. You can start watching https://jira.appcelerator.org/browse/TIMOB-27132 for updates on the discussion and progress.
  • iPad OS Support
    Apple has announced a new iPad OS for iPads. But, they have not provided too much detail. We’ll be closely watching this space for updates. We have started testing to ensure that existing Titanium apps deployed on iPads continue to function as expected.

Titanium Roadmap

We are finalizing Titanium SDK 8.0.2, which will be released shortly.

In a few weeks, we’ll release SDK 8.1.0, which includes about 90 tickets. You can follow the milestones via JIRA and GitHub to track the progress.

Finally, the SDK 8.2.0 release this fall will support iOS 13 and Xcode 11. Throughout the Apple beta release period, we will continually test to ensure that we can provide support for building against the iOS 13 SDK using Xcode 11 and that existing apps run as expected on devices running iOS 13. We plan to provide pre-release versions of the SDK to allow you to ensure that your apps will work as expected with the new iOS and Xcode releases. Your feedback is important to us and will allow more stable released versions of the Titanium SDK. For updates on our progress you can start watching Jira ticket TIMOB-27114.

If you think there are other important features which we should consider, please create a ticket in https://jira.appcelerator.org/

Code Strong!


    • Thanks for ticket. PencilKit APIs can be supported via module. We should not have this inside core SDK as we want to have SDK slim and we do not have parity with other platforms. So it’s release can be independent of SDK 8.2.0. Currently it’s not in our plan. In near future probably we can plan. If someone from community wants to write a module would be great. Thanks!

  1. Regarding “Multiple row selection in iOS Table View”, are you going to implement this for TableViews as well as ListViews?

  2. The highest priority feature for our iPad (universal) app is support for iPad multitasking – this will be required by Apple for appstore updates and new submissions by April 2020.
    To enable multitasking support, the app needs to enable use-autolayout tiapp.xml setting and UIRequiresFullScreen = false. It also needs some internal storyboard support.
    We have tried in Titanium 5/6/7 to enable this feature but it has always caused either build failures or problems in the UI.
    This is also related to the multiple window support on iPad.
    So reworking the app could take a long time but we have 1 year – what is the plan to support this for developers with existing apps?
    Note our app resizes well between iPhone and iPad and with rotation so in theory it could work with multitasking and use size classes, but my impression is this autolayout feature has been in beta previously and might need work.

Comments are closed.