This document provides answers and links to commonly asked questions about Titanium SDK.
- Can I use Swift code to develop apps for Android in Hyperloop?
- Multidex can be done in Android Studio. How can I do it in my Appcelerator app?
- Does geofence module uses coreLocation (for iOS) or does it use something else?
- How do I use Titanium.Android.Intent in Android for calendar
- Create an Appcelerator Android module with armeabi-v7a,x86 architectures
- iOS 10+ and plist
- How to change the Android buildtools version
- How do you check if a module supports 64bit or not?
- Localization supports for the plist file
- Where can I find the best practices for Titanium SDK?
- What are the system requirements?
- What are the reserved words?
- What is Hyperloop?
- How do I enable Hyperloop?
Can I use Swift code to develop apps for Android in Hyperloop?
Short answer is no. You cannot use Swift code to develop Android apps. Classes in Hyperloop map to the underlying classes defined in Objective-C for iOS and in Java for Android.
Multidex can be done in Android Studio. How can I do it in my Appcelerator app?
Multidex is coming in TiSDK 6.0.0.
Does geofence module uses coreLocation (for iOS) or does it use something else?
Yes, it uses corelocation but it hasn't been verified as a background mode.
You can try it using the
theNSLocationWhenInUseUsageDescription key in the
How do I use
Titanium.Android.Intent in Android for calendar
The following code sample could be used to do this:
Create an Appcelerator Android module with armeabi-v7a,x86 architectures
Create a Titanium module:
- Edit the manifest and change the
- Change directories to
- Execute this command:
ti build -p android --build-only
- Verify the
dist/<whatever>.zipfile only contains the desired architectures.
iOS 10+ and plist
For the iOS 10 or later version, you have to add the following keys in
plist of the
tiapp.xml file, if you use any of the following:
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
An example of updated
tiapp.xml file might look something like this:
How to change the Android buildtools version
To verify your buildtools version, go to your Android SDK location:
You can change the build tools version using this command:
appc ti config android.buildTools.selectedVersion ##.##.##
How do you check if a module supports 64bit or not?
- Build your module.
- Open a terminal and change directories to the module's last directory (where
- Execute either
xcrun lipo -infoor
xcrun lipo -info libti.modulename.a. For example, executing
xcrun lipo -info libti.barcode.ashould return this info:
Architectures in the fat file: libti.barcode.a are: armv7 i386 x86_64 arm64
Localization supports for the plist file
You can add localizaiton support in the plist file. Here is an example for Japanese language for camera permission:
After applying this, if you change your device language to Japanese, you will the changes take effect.
Where can I find the best practices for Titanium SDK?
What are the system requirements?
- Operating System: A recent version of Windows, OS X or Ubuntu
- Memory: 8 GB RAM minimum system memory (2 GB RAM available memory). 16 GB RAM recommended.
- Java Runtime: Oracle JDK (no other brand of Java is suitable)
- Node.js: required for the Titanium command-line tools like the CLI, Alloy and API Runtime Services.
What are the reserved words?
See Reserved Words for details.
What is Hyperloop?
Hyperloop gives you direct access to the native APIs. Titanium SDK already covers plenty of the native APIs and makes them cross-platform addressing the most popular APIs. This technology was built for those developers who require access to even the most obscure APIs out there.
How do I enable Hyperloop?
See Enabling Hyperloop for details.