Today, we published Beta Releases for Titanium SDK 5.5.0 and Appcelerator CLI 5.5.0.
The primary focus of this release is support for iOS 10 and Xcode 8 including:
- iOS10: Support new CoreSpotlight APIs
- iOS10: Support RefreshControl in Ti.UI.ScrollView
- iOS10: Expose new Ti.UI.Pasteboard APIs
- iOS10: Support for new WatchConnectivity features
- iOS10: Expose new visual effects on Ti.UI.iOS.BlurView
- This release supports Apple’s Xcode from a minimum of 7.3.x to the maximum version of 8.0.x
- Team id is now required in tiapp.xml when building an app with a watch extension and Xcode 8
- Projects will set “SWIFT_VERSION” to a value of “3.0”
- Migrated the watchOS template to adopt the new Swift 3 syntax
- Minimum iOS SDK version is set to 8.0 by default if not explicitly set in the tiapp.xml when compiling using Xcode 8
Migrate your apps to iOS 10
Although our SDK and CLI take care of the most of the iOS 10 changes, there are also some privacy changes that need to be done by the developer. In detail, these include the requirement of the following keys in the plist of your tiapp.xml:
- NSContactsUsageDescription: If you use the Ti.Contacts API to access contacts from the address book
- NSCameraUsageDescription: If you use the Ti.Media.showCamera API to capture photos and videos
- NSCalendarsUsageDescription: If you use the Ti.Calendar API to access device calendars
- NSPhotoLibraryUsageDescription: If you use the Ti.Media.openPhotoGallery API to access the photo gallery or Ti.Media.showCamera API to save photos
- NSMicrophoneUsageDescription: If you use the Ti.Media.AudioRecorder API to record audio or Ti.Media.showCamera to record videos
<ios> <plist> <dict> <key>NSContactsUsageDescription</key> <string>Can we use to your contacts?</string> <key>NSCameraUsageDescription</key> <string>Can we use your camera?</string> <key>NSCalendarUsageDescription</key> <string>Can we use your calendar?</string> <key>NSPhotoLibraryUsageDescription</key> <string>Can we save to your library?</string> <key>NSMicrophoneUsageDescription</key> <string>Can we use your microphone?</string> </dict> </plist> </ios>
If you test your application on iOS 10, we will log an error in case you don’t have the permissions included, so you know when an API requires a certain permission. On devices earlier than iOS 10, the privacy-keys are not required, but recommended. So adding them does not have a bad side-effect for older devices.
These releases include 17 bug fixes, 2 improvements and 5 new iOS 10 features. For a more detailed overview, known issues and closed tickets see the following links:
- Titanium SDK 5.5.0.Beta Release Notes
- Appcelerator CLI 5.5.0 Release Notes
- All (public) resolved JIRA Tickets (login to JIRA to view)
Update Titanium SDK
To update the Titanium SDK from the command line:
[appc] ti sdk install --branch 5_5_X 5.5.0.v20160821213142
To roll back:
[appc] ti sdk select latest
Update Appcelerator CLI
The Appcelerator CLI Core Package has been updated, however the Appcelerator CLI install remains v4.2.7.
To update from the command line:
[sudo] npm install -g appcelerator appc use 5.5.0-5
To roll back:
[sudo] npm install -g appcelerator appc use latest
If you run into any issues that seem related to the updates, please report them on JIRA.
First, check if it’s a known issue you can watch. If you can’t find an existing ticket, then create one in the Appcelerator Community (AC) project and add as much relevant information as you can, including the release version you are using.
You can leave general comments as a reply to this blog post.