Announcing Titanium 3.1.2 Production Release

Fast speed dataflow.

I am pleased to announce the general availability of our latest Titanium release, version 3.1.2.

Key updates

New in this release is support for multiple operating system versions, including:

  • GA support for BlackBerry 10.x
  • Android 4.3 (Jelly Bean) support
  • Beta support of iOS 7
    • The upcoming release of iOS7 (planned for the end of September) introduces major changes and new features. Start migrating your apps now!

Other new features

  • Titanium Alloy now supports dynamic styling. For more information, please read the Dynamic Styling Guide.
  • Support for Google Cloud Messaging (GCM) for Android push notifications. Please see the “Push Notification” section in the ACS: Android SDK guide for more details. You can also view the Titanium.CloudPush docs.

For Appcelerator Platform customers using Appcelerator Studio

In addition to the above capabilities, Appcelerator Studio also includes the following updates:

  • GA support for Live View
    • Thanks to all our enterprise customers and Titans for their valuable feedback during our recent beta program.
  • Code Analyzer can now export data. Now you can store the analyzer data where you want.

Downloading Titanium 3.1.2

For new users, download Titanium 3.1.2 by clicking here.

For existing Titanium & Appcelerator Studio users, you will be prompted to update automatically on the next restart. You can also manually check for updates by selecting the “Check for Titanium SDK Updates” or “Check for Appcelerator Updates” from the “Help” menu within Studio.

As always I want to thank our 490,000-strong community of developers for your constant feedback and support.

For a full list of all changes and improvements in this release, please read the release notes.


  1. Hi, using action bars in this version seems to cause the error “Actionbarimpl can only be used with a compatible window decor layout” quite frequently.

    I haven’t been able to trace why it occurs yet but it might be something to do with the rewrite of the windowing architecture. I suspect the window open event is fired too early before the actionBar is available because this error is fired when mActionView == null || mContextView == null || mContainerView == null.

    Not sure if it is a regression but I have not been able to access a TabGroup’s activity through a Window activity property but I am able to do so in 3.1.1

    Another problem is that action bars seem to be unaccessible on Honeycomb 3.0, but works on Honeycomb 3.2. In Titanium 3.1.1 it crashes the app and but errors are handled gracefully in 3.2.0 but not in 3.1.2.

    The action bar implementation in Titanium seems broken and very difficult to work with, with a lot of APIs unexposed and it often takes very long for new apis to be exposed in Titanium. Modules like ActionBarSherlock should be introduced into Titanium, the problem with implementing it as a module is a lot of work and I’m not sure if it’s even possible because things like a FragmentActivity and Activity has to be changed to SherlockFragmentActivity and SherlockActivity for ActionBarSherlock to work.

    Google even released ActionBarCompat which allows action bars to be available back to Android 2.1. Since Google recognise that the action bar pattern is important and released it as part of the support library. Is Titanium planning to support this?

    While I know Titanium takes a different approach from Xamarin, Xamarin exposes all APIs available to developers easily and it allows for more flexibility.

    Both approaches have disadvantages but one of the biggest problems in Titanium is that the additional layer Titanium wrap around the OS APIs do not behave exactly the same sometimes across different OS and it becomes necessary to understand the differences and sometimes it becomes extremely difficult to make changes and it becomes only possible only through a module or recompiling the entire Titanium source which is very tedious.

    I saw Ti.Next and wonder if it means that these issues are going to be resolved, I would feel that having a simpler API Titanium has now and exposing all the platform specific APIs would be ideal.

  2. Ingo,

    after I updated to 3.1.2 my App started showing me error messages it wasn’t before.

    My App has a master window with a tableView, that when clicked, opens a new window. After the 3.1.2 something strange started happening. When I open this new open it works great, the problem happens when I close it. On the close event of the windows I remove everything from the window and set them to null. When I close this window for the first time, it works great, but when I open it again and then close it again, it shows me error saying “view.remove(image) cant call remove from null” saying the view is null. When do the process again it shows me two of this error, and it goes on showing 3, 4, 5 and then the app crashes.

    It wasn’t happening on 3.1.1 and I really need 3.1.2.

    Thanks for your attention!
    My best,

  3. @Tan. Yes, Ti.Next will allow greater access to the full complement of APIs available at the native level without the need for a module. As to your issue–is it possible to file a ticket with a test case for us to look at?

  4. When I run Kitchen Sink on Xcode 5 with iOS Beta 5, I get the following error:

    ‘Could not find the file app.js’

    This didn’t happen with Titanium 3.1.1. So, how can I get Kitchen Sink running with 3.1.2, to try out iOS 7 controls? The Blog said, 3.1.2 provides iOS 7 support.

    Other users have the same problem as well.

  5. @Ingo. It’s indexing:

    (lots of files, the same name than in app/controllers, all around 80k)

    It takes more than 1 minute to process each file in a Core i5

  6. @jordi. Can you please post a copy of your Titanium log file (into a ticket) or some other location we can take a look?

  7. @seb. Could you tell me which version KitchenSInk app you are trying to build with 3.1.2.GA ? i tried building the latest KitchenSInk which comes with the studio samples with 3.1.2.GA and it looks like everything runs fine.

  8. @Jordi:

    Could you try the following workaround to see if it helps alleviate the behavior?

    1. In Project Explorer view, click on the drop-down arrow on the upper-right corner and select Customize View…;
    2. In the Filters tab, uncheck Titanium Resources Folder and click OK;
    3. The “Resources” folder should now appear under the alloy project;
    4. Right-click on the Resources folder and select Properties;
    5. Make the “Derived” attribute checked and click OK.

    Now try to do a build to simulator or device. Please let us know if the build time still takes significantly longer than in the earlier versions of Studio.


  9. our app locked to portrait mode in tiapp.xml file and inside the file after creating window. But the app still goes into landscape mode when I rotate my phone. I don’t have that problem in 3.1.2 earlier build.

  10. Hi, after following those steps it worked like a charm but now nothing appears on the console (I have the log level set to debug). Any tip how to fix it?

  11. I tried a lot of suggestions but I can’t get Ti Studio to see the iOS7 SDK. changed the xcode sdk path to the developer preview and all that, reinstalled, removed old xcode, but to no avail; it still won’t see the new iOS SDK, even though I have the latest Ti Studio with 3.1.2 SDK. Any idea what I might be missing?

Comments are closed.