# Titanium.App.iOS

The top-level App iOS module, available only to iOS devices, that includes the facilities to create and manage local notifications and background services.

Availability
1.5.0
9.2.0

# Overview

# Local Notifications

Local notifications are a way for an application that is not running in the foreground to let users know that it has information for them. When invoked, the application either displays a banner message or an alert dialog with a Close button to dismiss and an Open button to bring the application into the foreground. The application can also modify the icon badge, to show the number of pending notifications, and generate a sound.

To send a local notification, the application needs to:

  1. Enroll the application to send local notifications with the Titanium.App.iOS.registerUserNotificationSettings method.
  2. Schedule a local notification with the Titanium.App.iOS.scheduleLocalNotification method.
  3. Monitor the Titanium.App.iOS.notification event to respond to the notification.

For instructions on sending local interactive notifications, see the iOS Local Notifications guide (opens new window).

# Local Interactive Notifications

You can create interactive notifications, where users can respond to application notifications without launching the application to the foreground. The user needs to reveal notification actions in the notification, then press a notification action to respond to the notification.

To create an interactive notification, the application needs to:

  1. Create and configure notification actions with the Titanium.App.iOS.createUserNotificationAction method.
  2. Create notification categories and assign notification actions to them with the Titanium.App.iOS.createUserNotificationCategory method.
  3. Register the notification categories with the Titanium.App.iOS.registerUserNotificationSettings method.
  4. Monitor the Titanium.App.iOS.localnotificationaction event.

For instructions on sending local interactive notifications, see the iOS Local Notifications guide (opens new window).

# Background Downloads

In iOS 7, Apple introduced new background execution modes which allow the application to download content in the background. These background modes are supported in Titanium SDK 3.2.0 and later.

For more information on getting started, refer to the iOS Background Services guide (opens new window).

# Handoff User Activities

Handoff allows you to create and transfer user activies from one device to another. For example, you can start editing a document on your phone, then transfer the activity to your iPad to continue editing the document.

To make an activity shareable, use the Titanium.App.iOS.UserActivity API to create the activity. To continue the activity on another device, listen for the Titanium.App.iOS.continueactivity event.

# Index Application Content

In iOS 9 and later, Apple lets you index application content, such as music, videos, images and documents, to allow it to be searched in iOS Spotlight. To effectively add and remove information from the iOS search index you will need to use the following APIs:

# Properties

# apiName READONLY

Availability
3.2.0
9.2.0
apiName :String

The name of the API that this proxy corresponds to.

The value of this property is the fully qualified name of the API. For example, Titanium.UI.Button returns Ti.UI.Button.


# applicationOpenSettingsURL READONLY

Availability
3.4.0
9.2.0
applicationOpenSettingsURL :String

Returns a URL to open the app's settings.

Used to create a URL that you can pass to the openURL method. When you open the URL built from this string, the system launches the Settings app and displays the app's custom settings, if it has any.

var settingsURL = Ti.App.iOS.applicationOpenSettingsURL;
if (Ti.Platform.canOpenURL(settingsURL)) {
    Ti.Platform.openURL(settingsURL);
}

# bubbleParent

Availability
3.0.0
9.2.0
bubbleParent :Boolean

Indicates if the proxy will bubble an event to its parent.

Some proxies (most commonly views) have a relationship to other proxies, often established by the add() method. For example, for a button added to a window, a click event on the button would bubble up to the window. Other common parents are table sections to their rows, table views to their sections, and scrollable views to their views. Set this property to false to disable the bubbling to the proxy's parent.

Default: true


# currentUserNotificationSettings READONLYDEPRECATED

Availability
3.4.0
9.2.0
currentUserNotificationSettings :UserNotificationSettings

DEPRECATED SINCE 7.3.0

Use requestUserNotificationSettings instead.

Notification types and user notification categories the application is registered to use.


# supportedUserActivityTypes READONLY

Availability
5.0.0
9.2.0
supportedUserActivityTypes :Array<String>

Provides an Array of the NSUserActivityTypes keys defined within your Titanium project.

Used to obtain a list of the NSUserActivityTypes keys defined in your Titanium project's tiapp.xml file. These NSUserActivityTypes keys are the keys which you can use working with iOS Titanium User Activities. NSUserActivityTypes must be defined at build time in your tiapp.xml file as shown below:

<ios>
  <plist>
  <dict>
    <key>NSUserActivityTypes</key>
      <array>
        <string>com.setdirection.home</string>
        <string>com.setdirection.shelf</string>
        <string>com.setdirection.item</string>
      </array>
    </dict>
    </plist>
  </ios>

# userInterfaceStyle READONLYDEPRECATED

Availability
8.2.0
9.2.0
userInterfaceStyle :Number

DEPRECATED SINCE 9.1.0

Use userInterfaceStyle instead, which is supported cross-platform.

The style associated with the user interface.

Use this property to determine whether your interface should be configured with a dark or light appearance. The default value of this trait is set to the corresponding appearance setting on the user's device.

# Methods

# addEventListener

Availability
1.5.0
9.2.0
addEventListener(name, callback) → void

Adds the specified callback as an event listener for the named event.

Parameters

Name Type Description
name String

Name of the event.

callback Callback<Titanium.Event>

Callback function to invoke when the event is fired.

Returns

Type
void

# applyProperties

Availability
3.0.0
9.2.0
applyProperties(props) → void

Applies the properties to the proxy.

Properties are supplied as a dictionary. Each key-value pair in the object is applied to the proxy such that myproxy[key] = value.

Parameters

Name Type Description
props Dictionary

A dictionary of properties to apply.

Returns

Type
void

# cancelAllLocalNotifications DEPRECATED

Availability
1.5.0
9.2.0
cancelAllLocalNotifications() → void

DEPRECATED SINCE 7.3.0

Use removePendingNotifications instead.

Cancels all scheduled local notifications.

Returns

Type
void

# cancelLocalNotification DEPRECATED

Availability
1.5.0
9.2.0
cancelLocalNotification(id) → void

DEPRECATED SINCE 7.3.0

Use removePendingNotifications instead.

Cancels a local notification.

Parameters

Name Type Description
id Number | String

Application-created ID of the local notification to cancel. To create an ID for the notification, set the id property in the userInfo dictionary passed to the scheduleLocalNotification method.

Returns

Type
void

# createUserDefaults

Availability
4.0.0
9.2.0
createUserDefaults(parameters) → Titanium.App.iOS.UserDefaults

Creates and returns an instance of Titanium.App.iOS.UserDefaults.

Parameters

Name Type Description
parameters Dictionary<Titanium.App.iOS.UserDefaults>

Properties to set on a new object, including any defined by Titanium.App.iOS.UserDefaults except those marked not-creation or read-only.

Returns


# createUserNotificationAction

Availability
3.4.0
9.2.0
createUserNotificationAction([parameters]) → Titanium.App.iOS.UserNotificationAction

Creates and returns an instance of Titanium.App.iOS.UserNotificationAction.

Parameters

Name Type Description
parameters Dictionary<Titanium.App.iOS.UserNotificationAction>

Properties to set on a new object, including any defined by Titanium.App.iOS.UserNotificationAction except those marked not-creation or read-only.

Returns


# createUserNotificationCategory

Availability
3.4.0
9.2.0
createUserNotificationCategory([parameters]) → Titanium.App.iOS.UserNotificationCategory

Creates and returns an instance of Titanium.App.iOS.UserNotificationCategory.

Parameters

Name Type Description
parameters Dictionary<Titanium.App.iOS.UserNotificationCategory>

Properties to set on a new object, including any defined by Titanium.App.iOS.UserNotificationCategory except those marked not-creation or read-only.

Returns


# endBackgroundHandler

Availability
3.2.0
9.2.0
endBackgroundHandler(handlerID) → void

Marks the end of the app execution after initiating the download operation. Available only on iOS 7 and later.

When calling this method, pass in the handlerID value that initiated the background state. You must call this handler after initiating the download operation and should do so as soon as possible.

Parameters

Name Type Description
handlerID String

Unique string identifier for the event (backgroundfetch, silentpush or backgroundtransfer) that initiated the background opertation mode.

Returns

Type
void

# fireEvent

Availability
1.5.0
9.2.0
fireEvent(name[, event]) → void

Fires a synthesized event to any registered listeners.

Parameters

Name Type Description
name String

Name of the event.

event Dictionary

A dictionary of keys and values to add to the Titanium.Event object sent to the listeners.

Returns

Type
void

# registerBackgroundService

Availability
1.5.0
9.2.0
registerBackgroundService(params) → Titanium.App.iOS.BackgroundService

Registers a service to run when the application is placed in the background.

Parameters

Name Type Description
params Dictionary

Parameters used to create the service. Must include a url property, to specify the local JavaScript file to execute when the application is placed in the background.

Returns


# registerUserNotificationSettings

Availability
3.4.0
9.2.0
registerUserNotificationSettings(params) → void

Registers the application to use the requested notification types and categories.

Call this method at application start up. If the application needs to register for remote notifications, call this method before calling registerForPushNotifications.

Parameters

Name Type Description
params UserNotificationSettings

Parameters used to enroll the application in local notifications.

Returns

Type
void

# removeEventListener

Availability
1.5.0
9.2.0
removeEventListener(name, callback) → void

Removes the specified callback as an event listener for the named event.

Multiple listeners can be registered for the same event, so the callback parameter is used to determine which listener to remove.

When adding a listener, you must save a reference to the callback function in order to remove the listener later:

var listener = function() { Ti.API.info("Event listener called."); }
window.addEventListener('click', listener);

To remove the listener, pass in a reference to the callback function:

window.removeEventListener('click', listener);

Parameters

Name Type Description
name String

Name of the event.

callback Callback<Titanium.Event>

Callback function to remove. Must be the same function passed to addEventListener.

Returns

Type
void

# scheduleLocalNotification

Availability
1.5.0
9.2.0
scheduleLocalNotification(params) → Titanium.App.iOS.LocalNotification

Schedule a local notification.

Parameters

Name Type Description
params NotificationParams

Parameters used to create a notification.

Returns


# sendWatchExtensionReply DEPRECATED

Availability
4.1.0
9.2.0
sendWatchExtensionReply(handlerId, userInfo) → void

DEPRECATED SINCE 5.0.0

Use Titanium.WatchSession instead, which is supported on iOS 9 and later.

Marks the end of an openParentApplication:reply execution by a WatchKit extension.

This method must be called after your Titaium application has finished processing the watchkitextensionrequest event. Optional information can be provided in the userInfo argument will be provided back to the WatchKit extension as part of the reply method. If no userInfo is provide nil will be sent to the WatchKit extension to during the reply callback.

This method should be used as part of the watchkitextensionrequest event as shown below.

Ti.App.iOS.addEventListener("watchkitextensionrequest", function(e) {
    var replyContent = {foo: "bar"};
    Ti.App.iOS.sendWatchExtensionReply(e.handlerId,replyContent);
});

Parameters

Name Type Description
handlerId String

Unique string identifier for the event (watchkitextensionrequest) that initiated from the WatchKit extension calling the openParentApplication:reply method.

userInfo Dictionary

Custom data object which will be passed in the reply method to your WatchKit extension.

Returns

Type
void

# setMinimumBackgroundFetchInterval

Availability
3.2.0
9.2.0
setMinimumBackgroundFetchInterval(fetchInterval) → void

Specifies the minimum amount of time that must elapse between background fetch operations. Available only on iOS 7 and later.

This property has no effect for apps that do not have the UIBackgroundModes key with the fetch value in its Info.plist file. The default fetch interval for apps is BACKGROUNDFETCHINTERVAL_NEVER. Therefore, you must call this method and set a fetch interval before your app is given background execution time.

Parameters

Name Type Description
fetchInterval Number

The minimum number of seconds that must elapse before another background fetch can be initiated. This value is advisory only and does not indicate the exact amount of time expected between fetch operations.

Returns

Type
void

# Events

# notification

Availability
1.5.0
9.2.0

Fired when a local notification is received by the application.

Properties

Name Type Description
alertAction String

Alert button text ('View', by default) or slider text ('slide to unlock...', by default).

alertBody String

Alert message.

alertLaunchImage String

Image displayed instead of Default.png when launching the application.

badge Number

Application badge value.

date Date

Date and time when the notification was configured to fire.

sound String

Name of the sound file configured to play when the notification was fired.

timezone String

Timezone of the date when the notification was configured to fire. Available in Titanium SDK 7.4.0+.

userInfo Dictionary

Custom data object.

inBackground Boolean

Boolean indicating if notification was received while app was in background. Available in Titanium SDK 6.2.0. On iOS 10+ this is no longer available since this event will only fire if the app is in foreground.

threadIdentifier String

The unique identifier for the thread or conversation related to this notification request. It will be used to visually group notifications together. Available in Titanium SDK 7.5.0+ and iOS 10+.

category String

The identifier of the app-defined Titanium.App.iOS.UserNotificationCategory. Available in Titanium SDK 7.5.0+ and iOS 10+.

source Object

Source object that fired the event.

type String

Name of the event fired.

bubbles Boolean

True if the event will try to bubble up if possible.

cancelBubble Boolean

Set to true to stop the event from bubbling.


# localnotificationaction

Availability
1.5.0
9.2.0

Fired when a user selects an action for an interactive local notification.

Properties

Name Type Description
alertAction String

Alert button text ('Open', by default) or slider text ('slide to unlock...', by default).

alertBody String

Alert message.

alertLaunchImage String

Image displayed instead of Default.png when launching the application.

badge Number

Application badge value.

date Date

Date and time when the notification was configured to fire.

identifier String

Identifier of the action that was selected of the interactive notification.

sound String

Path to the sound file configured to play when the notification was fired.

timezone String

Timezone of the date when the notification was configured to fire.

typedText String

User input if the notification used the USER_NOTIFICATION_BEHAVIOR_TEXTINPUT behavior.

userInfo Dictionary

Custom data object.

inBackground Boolean

Boolean indicating if notification was received while app was in background (since Titanium SDK 6.2.0). On iOS 10+ this is no longer available since the event will only fire when opening the app after interacting with a notification from the iOS notification center (which means the app was in background when the notification was received).

threadIdentifier String

The unique identifier for the thread or conversation related to this notification request. It will be used to visually group notifications together. Available in Titanium SDK 7.5.0+ and iOS 10+.

category String

The identifier of the app-defined Titanium.App.iOS.UserNotificationCategory. Available in Titanium SDK 7.5.0+ and iOS 10+.

source Object

Source object that fired the event.

type String

Name of the event fired.

bubbles Boolean

True if the event will try to bubble up if possible.

cancelBubble Boolean

Set to true to stop the event from bubbling.


# remotenotificationaction

Availability
1.5.0
9.2.0

Fired when a user selects an action for an interactive remote notification.

Properties

Name Type Description
data Dictionary

The payload passed to the Apple Push Notification Service.

category String

Identifier of the category of the interactive notification.

identifier String

Identifier of the action that was selected of the interactive notification.

source Object

Source object that fired the event.

type String

Name of the event fired.

bubbles Boolean

True if the event will try to bubble up if possible.

cancelBubble Boolean

Set to true to stop the event from bubbling.


# backgroundfetch

Availability
3.2.0
9.2.0

Fired when the application is woken up for a fetch operation. Available only on iOS 7 and later.

Add this event if your app supports the fetch UIBackground mode. When an opportunity arises to download data, the system fires this event to give your app a chance to download any data it needs. Your callback of this event should download the data, prepare that data for use, and call the endBackgroundHandler method with the handlerID parameter from this event.

When this event is fired, your app has up to 30 seconds of wall-clock time to perform the download operation and call the endBackgroundHandler method. In practice, your app should call the endBackgroundHandler method as soon as possible after initiating the download. If you do not call the endBackgroundHandler method in time, your app is suspended. More importantly, the system uses the elapsed time to calculate power usage and data costs for your app's background downloads. If your app takes a long time to call endBackgroundHandler method, it may be given fewer future opportunities to fetch data in the future.

If you are downloading large content, initiate the download using a Modules.URLSession background download task, then call the endBackgroundHandler method. Listen for the downloadcompleted event to prepare the data for use.

The event returns the dictionary containing the handlerID property, which is a unique handler ID for the current event. This identifier should be passed as the argument to the endBackgroundHandler method.

Properties

Name Type Description
handlerId String

Unique string identifier for the backgroundfetch event. This identifier should be passed as the argument to the endBackgroundHandler method.

source Object

Source object that fired the event.

type String

Name of the event fired.

bubbles Boolean

True if the event will try to bubble up if possible.

cancelBubble Boolean

Set to true to stop the event from bubbling.


# silentpush

Availability
3.2.0
9.2.0

Fired when the application is woken up by a silent remote notification. Available only on iOS 7 and later.

Add this event if your app supports the remote-notification UIBackground mode. This event is intended as a means for apps to minimize the time that elapses between the user seeing a push notification and the app displaying the associated data. When a push notification arrives, the system displays the notification to the user and launches the app in the background (if needed) so that it can call this event. Use this event to download any data related to the push notification. When your method is done, call the endBackgroundHandler method with handlerID parameter from this event.

The system fires this event regardless of the state of your app. If your app is suspended or not running, the system wakes up or launches your app and puts it into the background running state before firing the event.

When this event is fired, your app has up to 30 seconds of wall-clock time to perform the download operation and call the endBackgroundHandler method. In practice, your app should call the endBackgroundHandler method as soon as possible after initiating the download. If you do not call the endBackgroundHandler method in time, your app is suspended. More importantly, the system uses the elapsed time to calculate power usage and data costs for your app's background downloads. If your app takes a long time to call endBackgroundHandler method, it may be given fewer future opportunities to fetch data in the future.

If you are downloading large content, initiate the download using a Modules.URLSession background download task, then call the endBackgroundHandler method. Listen for the downloadcompleted event to prepare the data for use.

The event returns the dictionary containing the handlerID property, which is a unique handler ID for the current event. This identifier should be passed as the argument to the endBackgroundHandler method.

You can send extra information with a silent push using extra:

{
  aps: {
    'content-available': 1
  },
  extra: {
    foo: 'bar'
  }
}

In the event handler for silentpush, your code may look something like this:

{
  "handlerId": "SilentPush-1415976886.375816",
  "aps": {
    "content-available": 1,
  },
  "extra": {
    "foo": "bar"
  },
  "bubbles": true,
  "type": "silentpush",
  "source": {},
  "cancelBubble": false
}

Properties

Name Type Description
handlerId String

Unique string identifier for the silentpush event. This identifier should be passed as the argument to the endBackgroundHandler method.

source Object

Source object that fired the event.

type String

Name of the event fired.

bubbles Boolean

True if the event will try to bubble up if possible.

cancelBubble Boolean

Set to true to stop the event from bubbling.


# backgroundtransfer

Availability
3.2.0
9.2.0

Fired when the events related to a Modules.URLSession are waiting to be processed. Available only on iOS 7 and later.

The app fires this events when all background transfers associated with a urlSession object have finished or failed. Use this method to reconnect any urlSessions and to update your app's user interface. For example, you might use this method to update progress indicators or to incorporate new content into your views. After processing the events, call the endBackgroundHandler method with the handlerID parameter. If a urlSession finishes its work when your app is not running, the system launches your app in the background so that it can process the event. In that situation, use the provided identifier to create a new urlSessionConfiguration and urlSession objects. Upon creating urlSession object, that object calls the appropriate delegate methods to process the events.

If your app already has a session object with the specified identifier and is running or suspended, you do not need to create a new session object using this method. Suspended apps are moved into the background. As soon as the app is running again, the urlSession object with the identifier receives the events and processes them normally.

At launch time, the app does not call this method if there are uploads or downloads in progress. If you want to display the current progress of those transfers in your app's user interface, you must recreate the session object yourself. In that situation, cache the session identifier value persistently and use it to recreate your session object.

Properties

Name Type Description
handlerId String

Unique string identifier for the backgroundtransfer event. This identifier should be passed as the argument to the endBackgroundHandler method.

sessionId String

The identifier of the URL session requiring attention. If your app was just launched, you can use this identifier to create a new urlSession object that can receive the events.

source Object

Source object that fired the event.

type String

Name of the event fired.

bubbles Boolean

True if the event will try to bubble up if possible.

cancelBubble Boolean

Set to true to stop the event from bubbling.


# downloadprogress

Availability
3.2.0
9.2.0

Fired periodically to inform the app about the download's progress of a Modules.URLSession. Available only on iOS 7 and later.

This event only needs to be used if your app is using the urlSession module to download data.

Properties

Name Type Description
taskIdentifier Number

The urlSession download task's identifier.

sessionIdentifier String

The urlSession session identifier. If it does not exist, this property is not provided. This property is available since Titanium Mobile 5.4.0.GA.

bytesWritten Number

The number of bytes transferred since the last time this event was fired.

totalBytesWritten Number

The total number of bytes transferred so far.

totalBytesExpectedToWrite Number

The expected length of the file, as provided by the Content-Length header. If this header was not provided, the value is zero.

source Object

Source object that fired the event.

type String

Name of the event fired.

bubbles Boolean

True if the event will try to bubble up if possible.

cancelBubble Boolean

Set to true to stop the event from bubbling.


# uploadprogress

Availability
3.2.0
9.2.0

Fired periodically to inform the app about the upload's progress of a Modules.URLSession. Available only on iOS 7 and later.

This event only needs to be used if your app is using the urlSession module to upload data.

Properties

Name Type Description
taskIdentifier Number

The urlSession upload task's identifier.

sessionIdentifier String

The urlSession session identifier. If it does not exist, this property is not provided. This property is available since Titanium Mobile 5.4.0.GA.

bytesSent Number

The number of bytes transferred since the last time this event was fired.

totalBytesSent Number

The total number of bytes transferred so far.

totalBytesExpectedToSend Number

The expected length of the file, as provided by the Content-Length header. If this header was not provided, the value is zero.

source Object

Source object that fired the event.

type String

Name of the event fired.

bubbles Boolean

True if the event will try to bubble up if possible.

cancelBubble Boolean

Set to true to stop the event from bubbling.


# downloadcompleted

Availability
3.2.0
9.2.0

Fired to indicate that a Modules.URLSession download task has finished downloading. Available only on iOS 7 and later.

This event only needs to be used if your app is using the urlSession module to download data.

Properties

Name Type Description
taskIdentifier Number

The urlSession download task's identifier.

sessionIdentifier String

The urlSession session identifier. If it does not exist, this property is not provided. This property is available since Titanium Mobile 5.4.0.GA.

data Titanium.Blob

The downloaded data as a Titanium.Blob object.

source Object

Source object that fired the event.

type String

Name of the event fired.

bubbles Boolean

True if the event will try to bubble up if possible.

cancelBubble Boolean

Set to true to stop the event from bubbling.


# sessioncompleted

Availability
3.2.0
9.2.0

Fired to indicate that a Modules.URLSession task finished transferring data. Available only on iOS 7 and later.

This event only needs to be used if your app is using the urlSession module to download or upload data.

Server errors are not reported through the error parameter. The only error events sent through the error parameter are client-side errors, such as being unable to resolve the hostname or connect to the host.

Properties

Name Type Description
taskIdentifier Number

The urlSession download task's identifier.

sessionIdentifier String

The urlSession session identifier. If it does not exist, this property is not provided. This property is available since Titanium Mobile 5.4.0.GA.

success Boolean

Indicates if the operation succeeded. Returns true if download succeeded, false otherwise.

errorCode Number

The error code of the error, if any (potentially system-dependent).

message String

A string containing the localized description of the error. This property does not exhist if errorCode is 0, which means there is no error.

responseText String

The response text for task and uploadTask. This property does not exhist for download task. For download task response, use downloadcompleted event.

statusCode Number

The response status code for tasks.

source Object

Source object that fired the event.

type String

Name of the event fired.

bubbles Boolean

True if the event will try to bubble up if possible.

cancelBubble Boolean

Set to true to stop the event from bubbling.


# sessioneventscompleted

Availability
3.2.0
9.2.0

Fired to indicate that all messages enqueued for a Modules.URLSession have been delivered. Available only on iOS 7 and later.

This event only needs to be used if your app is using the urlSession module to download data.

In iOS, when a background transfer completes and if your app is no longer running, your app is automatically relaunched in the background, and the app fires the backgroundtransfer event. This event should contain the identifier of the session that caused your app to be launched. Your app should then store that handlerID before creating a background session configuration object with the same identifier, and creating a url session object with that configuration. The newly created session is automatically reassociated with ongoing background activity.

When your app later receives a sessioneventscompleted event, this indicates that all messages previously enqueued for this session have been delivered, and that it is now safe to invoke endBackgroundHandler method with the handlerID or to begin any internal updates that may result in invoking this method.

Properties

Name Type Description
sessionIdentifier String

The urlSession session identifier. If it does not exist, this property is not provided. This property is available since Titanium Mobile 5.4.0.GA.

source Object

Source object that fired the event.

type String

Name of the event fired.

bubbles Boolean

True if the event will try to bubble up if possible.

cancelBubble Boolean

Set to true to stop the event from bubbling.


# usernotificationsettings

Availability
3.4.0
9.2.0

Fired when the user notification settings are registered.

Properties

Name Type Description
types Array<Number>

Notification types the application is registered to use.

categories Array<Titanium.App.iOS.UserNotificationCategory>

Set of categories of user notification actions the application is registered to use.

source Object

Source object that fired the event.

type String

Name of the event fired.

bubbles Boolean

True if the event will try to bubble up if possible.

cancelBubble Boolean

Set to true to stop the event from bubbling.


# watchkitextensionrequest DEPRECATED

Availability
4.1.0
9.2.0

DEPRECATED SINCE 5.0.0

Use Titanium.WatchSession instead, which is supported on iOS 9 and later.

Fired when openParentApplication:reply is called from a WatchKit extension. Available only on iOS 8.2 and later.

Add this event if your Titanium application if you are using a WatchKit extension. When your WatchKit extension uses the openParentApplication:reply method your Titanium application will be opened in the background and provides your Titanium app the information from the extension. When this event is fired you must provide a reply by calling the sendWatchExtensionReply method with the handlerID parameter from this event.

The event returns the dictionary containing the handlerID property, which is a unique handler ID for the current event and the userInfo property, containing the dictionary passed from the WatchKit extension. The handlerID identifier must be passed as the an argument to the sendWatchExtensionReply method.

Ti.App.iOS.addEventListener("watchkitextensionrequest",function(e){
    var replyContent = {foo:"bar"};
    Ti.App.iOS.sendWatchExtensionReply(e.handlerId,replyContent);
});

Properties

Name Type Description
handlerId String

Unique string identifier for the watchkitextensionrequest event. This identifier should be passed an argument to the sendWatchExtensionReply method.

userInfo Dictionary

The payload passed to the openParentApplication:reply method from the WatchKit extension.

source Object

Source object that fired the event.

type String

Name of the event fired.

bubbles Boolean

True if the event will try to bubble up if possible.

cancelBubble Boolean

Set to true to stop the event from bubbling.


# continueactivity

Availability
5.0.0
9.2.0

Fired when iOS continueactivity calls continueUserActivity.

Add this event if your Titanium application if you are responding to an iOS Handoff or Core Spotlight continueUserActivity request. This event will fire when a user taps on the handoff icon or the Core Spotlight search item. Your Titanium application will be opened in the background and provides your Titanium app the information from the NSUserActivity. When this event is fired you should implement logic within your application to allow the user to pick-up from where they left off on their other device.

Ti.App.iOS.addEventListener("continueactivity", function(e) {
    console.log('activityType: '' + e.activityType);
});

Properties

Name Type Description
activityType String

Unique string identifier for the handoff user activity. The identifier must be defined in your tiapp.xml file.

searchableItemActivityIdentifier String

With field will contain the searchable Unique Identifier if the continueactivity is fired from a Core Spotlight searh result.

title String

The optional title provided to the user activity or search item.

webpageURL String

The optional webpageURL provided to the user activity.

userInfo Dictionary

The optional userInfo provided to the user activity. The userInfo is a custom dictionary and can contain any information needed to create your handoff or Core Spotlight session.

source Object

Source object that fired the event.

type String

Name of the event fired.

bubbles Boolean

True if the event will try to bubble up if possible.

cancelBubble Boolean

Set to true to stop the event from bubbling.


# shortcutitemclick

Availability
5.1.0

Fired when a user taps the Application Shortcut.

Properties

Name Type Description
itemtype String

The unique identifier for the application shortcut.

title String

The title of the application shortcut.

subtitle String

The subtitle of the application shortcut.

userInfo Dictionary

The payload passed by the application shortcut.

source Object

Source object that fired the event.

type String

Name of the event fired.

bubbles Boolean

True if the event will try to bubble up if possible.

cancelBubble Boolean

Set to true to stop the event from bubbling.


# handleurl

Availability
6.0.0
9.2.0

Fired when a new URL is handled by the application.

Incoming URL's can either be triggered by an external application or links inside your Titanium.UI.WebView / <Modules.SafariDialog>.

Properties

Name Type Description
launchOptions LaunchOptionsType

The launch options that are related to opening the URL.

source Object

Source object that fired the event.

type String

Name of the event fired.

bubbles Boolean

True if the event will try to bubble up if possible.

cancelBubble Boolean

Set to true to stop the event from bubbling.


# traitcollectionchange

Availability
8.2.0
9.2.0

Fired when the trait collection of the device changes, e.g. the user interface style.


# screenshotcaptured

Availability
9.1.0
9.2.0

Fired after the user takes a screenshot, e.g. by pressing both the home and lock screen buttons.

# Constants

# BACKGROUNDFETCHINTERVAL_MIN

Availability
3.2.0
9.2.0
BACKGROUNDFETCHINTERVAL_MIN :Number

Use with setMinimumBackgroundFetchInterval method. Specifies the smallest fetch interval supported by the system.


# BACKGROUNDFETCHINTERVAL_NEVER

Availability
3.2.0
9.2.0
BACKGROUNDFETCHINTERVAL_NEVER :Number

Use with setMinimumBackgroundFetchInterval method. Used to specify a fetch interval large enough to prevent fetch operations from occurring.


# EVENT_ACCESSIBILITY_LAYOUT_CHANGED

Availability
3.0.0
9.2.0
EVENT_ACCESSIBILITY_LAYOUT_CHANGED :String

Convenience constant for system event "accessibilitylayoutchanged".


# EVENT_ACCESSIBILITY_SCREEN_CHANGED

Availability
3.0.0
9.2.0
EVENT_ACCESSIBILITY_SCREEN_CHANGED :String

Convenience constant for system event "accessibilityscreenchanged".


# USER_INTERFACE_STYLE_DARK DEPRECATED

Availability
8.2.0
9.2.0
USER_INTERFACE_STYLE_DARK :Number

DEPRECATED SINCE 9.1.0

Use USER_INTERFACE_STYLE_DARK instead, which is supported cross-platform.

A dark interface style.

Used in the userInterfaceStyle property.


# USER_INTERFACE_STYLE_LIGHT DEPRECATED

Availability
8.2.0
9.2.0
USER_INTERFACE_STYLE_LIGHT :Number

DEPRECATED SINCE 9.1.0

Use USER_INTERFACE_STYLE_LIGHT instead, which is supported cross-platform.

A light interface style.

Used in the userInterfaceStyle property.


# USER_INTERFACE_STYLE_UNSPECIFIED DEPRECATED

Availability
8.2.0
9.2.0
USER_INTERFACE_STYLE_UNSPECIFIED :Number

DEPRECATED SINCE 9.1.0

Use USER_INTERFACE_STYLE_UNSPECIFIED instead, which is supported cross-platform.

An unspecified interface style.

Used in the userInterfaceStyle property.


# USER_NOTIFICATION_ACTIVATION_MODE_BACKGROUND

Availability
3.4.0
9.2.0
USER_NOTIFICATION_ACTIVATION_MODE_BACKGROUND :Number

The action will execute in background. Use with the activationMode property.


# USER_NOTIFICATION_ACTIVATION_MODE_FOREGROUND

Availability
3.4.0
9.2.0
USER_NOTIFICATION_ACTIVATION_MODE_FOREGROUND :Number

The action will launch the application and execute in the foreground. Use with the activationMode property.


# USER_NOTIFICATION_ALERT_STYLE_ALERT

Availability
7.3.0
9.2.0
USER_NOTIFICATION_ALERT_STYLE_ALERT :Number

A alert dialog is presented when the notification is received.

Used to check the alertStyle attribute received in requestUserNotificationSettings.


# USER_NOTIFICATION_ALERT_STYLE_BANNER

Availability
7.3.0
9.2.0
USER_NOTIFICATION_ALERT_STYLE_BANNER :Number

A banner is presented when the notification is received.

Used to check the alertStyle attribute received in requestUserNotificationSettings.


# USER_NOTIFICATION_ALERT_STYLE_NONE

Availability
7.3.0
9.2.0
USER_NOTIFICATION_ALERT_STYLE_NONE :Number

No banner or alert dialog is presented when the notification is received.

Used to check the alertStyle attribute received in requestUserNotificationSettings.


# USER_NOTIFICATION_AUTHORIZATION_STATUS_AUTHORIZED

Availability
7.3.0
9.2.0
USER_NOTIFICATION_AUTHORIZATION_STATUS_AUTHORIZED :Number

The application is authorized to post user notifications.

Used to check the authorizationStatus attribute received in requestUserNotificationSettings.


# USER_NOTIFICATION_AUTHORIZATION_STATUS_DENIED

Availability
7.3.0
9.2.0
USER_NOTIFICATION_AUTHORIZATION_STATUS_DENIED :Number

The application is not authorized to post user notifications.

Used to check the authorizationStatus attribute received in requestUserNotificationSettings.


# USER_NOTIFICATION_AUTHORIZATION_STATUS_NOT_DETERMINED

Availability
7.3.0
9.2.0
USER_NOTIFICATION_AUTHORIZATION_STATUS_NOT_DETERMINED :Number

The user has not yet made a choice regarding whether the application may post user notifications.

Used to check the authorizationStatus attribute received in requestUserNotificationSettings.


# USER_NOTIFICATION_AUTHORIZATION_STATUS_PROVISIONAL

Availability
7.4.0
9.2.0
USER_NOTIFICATION_AUTHORIZATION_STATUS_PROVISIONAL :Number

The application is provisionally authorized to post non-interruptive user notifications.

Used to check the authorizationStatus attribute received in requestUserNotificationSettings.


# USER_NOTIFICATION_BEHAVIOR_DEFAULT

Availability
5.1.0
9.2.0
USER_NOTIFICATION_BEHAVIOR_DEFAULT :Number

Default action behavior with no additional action support.

Use with the behavior property.


# USER_NOTIFICATION_BEHAVIOR_TEXTINPUT

Availability
5.1.0
9.2.0
USER_NOTIFICATION_BEHAVIOR_TEXTINPUT :Number

Provides a textfield with the notification for the user to enter a text response.

The user input will be passed to the typedText field of the object passed to the callback handling the localnotification event.

Use with the behavior property.


# USER_NOTIFICATION_CATEGORY_OPTION_ALLOW_IN_CARPLAY

Availability
7.3.0
9.2.0
USER_NOTIFICATION_CATEGORY_OPTION_ALLOW_IN_CARPLAY :Number

Allow CarPlay to display notifications of this type.

Used in the options attribute when creating a Titanium.App.iOS.UserNotificationCategory.


# USER_NOTIFICATION_CATEGORY_OPTION_CUSTOM_DISMISS_ACTION

Availability
7.3.0
9.2.0
USER_NOTIFICATION_CATEGORY_OPTION_CUSTOM_DISMISS_ACTION :Number

Send dismiss actions to the UNUserNotificationCenter object's delegate for handling.

Used in the options attribute when creating a Titanium.App.iOS.UserNotificationCategory.


# USER_NOTIFICATION_CATEGORY_OPTION_HIDDEN_PREVIEWS_SHOW_SUBTITLE

Availability
7.3.0
9.2.0
USER_NOTIFICATION_CATEGORY_OPTION_HIDDEN_PREVIEWS_SHOW_SUBTITLE :Number

Show the notification's subtitle, even if the user has disabled notification previews for the app.

Used in the options attribute when creating a Titanium.App.iOS.UserNotificationCategory.


# USER_NOTIFICATION_CATEGORY_OPTION_HIDDEN_PREVIEWS_SHOW_TITLE

Availability
7.3.0
9.2.0
USER_NOTIFICATION_CATEGORY_OPTION_HIDDEN_PREVIEWS_SHOW_TITLE :Number

Show the notification's title, even if the user has disabled notification previews for the app.

Used in the options attribute when creating a Titanium.App.iOS.UserNotificationCategory.


# USER_NOTIFICATION_CATEGORY_OPTION_NONE

Availability
7.3.0
9.2.0
USER_NOTIFICATION_CATEGORY_OPTION_NONE :Number

No options.

Used in the options attribute when creating a Titanium.App.iOS.UserNotificationCategory.


# USER_NOTIFICATION_SETTING_DISABLED

Availability
7.3.0
9.2.0
USER_NOTIFICATION_SETTING_DISABLED :Number

The notification setting is turned off.

Used to check application-wide enabled notification settings received in requestUserNotificationSettings.


# USER_NOTIFICATION_SETTING_ENABLED

Availability
7.3.0
9.2.0
USER_NOTIFICATION_SETTING_ENABLED :Number

The notification setting is turned on.

Used to check application-wide enabled notification settings received in requestUserNotificationSettings.


# USER_NOTIFICATION_SETTING_NOT_SUPPORTED

Availability
7.3.0
9.2.0
USER_NOTIFICATION_SETTING_NOT_SUPPORTED :Number

The application does not support this notification type.

Used to check application-wide enabled notification settings received in requestUserNotificationSettings.


# USER_NOTIFICATION_TYPE_ALERT

Availability
3.4.0
9.2.0
USER_NOTIFICATION_TYPE_ALERT :Number

The application may display an alert upon a notification being received. Use with the types property.


# USER_NOTIFICATION_TYPE_BADGE

Availability
3.4.0
9.2.0
USER_NOTIFICATION_TYPE_BADGE :Number

The application may badge its icon upon a notification being received. Use with the types property.


# USER_NOTIFICATION_TYPE_CRITICAL_ALERT

Availability
7.4.0
9.2.0
USER_NOTIFICATION_TYPE_CRITICAL_ALERT :Number

The ability to play sounds for critical alerts. Use with the types property.


# USER_NOTIFICATION_TYPE_NONE

Availability
3.4.0
9.2.0
USER_NOTIFICATION_TYPE_NONE :Number

The application may not present any UI upon a notification being received. Use with the types property.


# USER_NOTIFICATION_TYPE_PROVIDES_APP_NOTIFICATION_SETTINGS

Availability
7.4.0
9.2.0
USER_NOTIFICATION_TYPE_PROVIDES_APP_NOTIFICATION_SETTINGS :Number

An option indicating the system should display a button for in-app notification settings. Use with the types property.


# USER_NOTIFICATION_TYPE_PROVISIONAL

Availability
7.4.0
9.2.0
USER_NOTIFICATION_TYPE_PROVISIONAL :Number

The ability to post non-interrupting notifications provisionally to the Notification Center. Use with the types property.


# USER_NOTIFICATION_TYPE_SOUND

Availability
3.4.0
9.2.0
USER_NOTIFICATION_TYPE_SOUND :Number

The application may play a sound upon a notification being received. Use with the types property.


# UTTYPE_APPLE_ICNS

Availability
5.0.0
9.2.0
UTTYPE_APPLE_ICNS :String

Uniform type identifier for Mac OS icon images.


# UTTYPE_APPLE_PROTECTED_MPEG4_AUDIO

Availability
5.0.0
9.2.0
UTTYPE_APPLE_PROTECTED_MPEG4_AUDIO :String

Uniform type identifier for protected MPEG-4 audio (iTunes music store format).


# UTTYPE_AUDIO

Availability
5.0.0
9.2.0
UTTYPE_AUDIO :String

Uniform type identifier for all audio content.


# UTTYPE_BMP

Availability
5.0.0
9.2.0
UTTYPE_BMP :String

Uniform type identifier for Windows bitmap images.


# UTTYPE_FLAT_RTFD

Availability
5.0.0
9.2.0
UTTYPE_FLAT_RTFD :String

Uniform type identifier for Rich Text with content embedding, pasteboard format.


# UTTYPE_GIF

Availability
5.0.0
9.2.0
UTTYPE_GIF :String

Uniform type identifier for GIF images.


# UTTYPE_HTML

Availability
5.0.0
9.2.0
UTTYPE_HTML :String

Uniform type identifier for HTML.


# UTTYPE_ICO

Availability
5.0.0
9.2.0
UTTYPE_ICO :String

Uniform type identifier for Windows icon images.


# UTTYPE_IMAGE

Availability
5.0.0
9.2.0
UTTYPE_IMAGE :String

Uniform type identifier for all image types.


# UTTYPE_JPEG

Availability
5.0.0
9.2.0
UTTYPE_JPEG :String

Uniform type identifier for JPEG images.


# UTTYPE_JPEG2000

Availability
5.0.0
9.2.0
UTTYPE_JPEG2000 :String

Uniform type identifier for JPEG 2000 images.


# UTTYPE_MOVIE

Availability
5.0.0
9.2.0
UTTYPE_MOVIE :String

Uniform type identifier for all audiovisual content.


# UTTYPE_MP3

Availability
5.0.0
9.2.0
UTTYPE_MP3 :String

Uniform type identifier for MP3 audio.


# UTTYPE_MPEG

Availability
5.0.0
9.2.0
UTTYPE_MPEG :String

Uniform type identifier for MPEG-1 and MPEG-2 content.


# UTTYPE_MPEG4

Availability
5.0.0
9.2.0
UTTYPE_MPEG4 :String

Uniform type identifier for MPEG-4 content.


# UTTYPE_MPEG4_AUDIO

Availability
5.0.0
9.2.0
UTTYPE_MPEG4_AUDIO :String

Uniform type identifier for MPEG-4 audio.


# UTTYPE_PDF

Availability
5.0.0
9.2.0
UTTYPE_PDF :String

Uniform type identifier for PDF data.


# UTTYPE_PICT

Availability
5.0.0
9.2.0
UTTYPE_PICT :String

Uniform type identifier for PICT images.


# UTTYPE_PLAIN_TEXT

Availability
5.0.0
9.2.0
UTTYPE_PLAIN_TEXT :String

Uniform type identifier for a plain text type, equivalent to MIME type text/plain.


# UTTYPE_PNG

Availability
5.0.0
9.2.0
UTTYPE_PNG :String

Uniform type identifier for PNG images.


# UTTYPE_QUICKTIME_IMAGE

Availability
5.0.0
9.2.0
UTTYPE_QUICKTIME_IMAGE :String

Uniform type identifier for QuickTime images.


# UTTYPE_QUICKTIME_MOVIE

Availability
5.0.0
9.2.0
UTTYPE_QUICKTIME_MOVIE :String

Uniform type identifier for QuickTime movies.


# UTTYPE_RTF

Availability
5.0.0
9.2.0
UTTYPE_RTF :String

Uniform type identifier for Rich Text.


# UTTYPE_RTFD

Availability
5.0.0
9.2.0
UTTYPE_RTFD :String

Uniform type identifier for Rich Text Format Directory, that is, Rich Text with content embedding, on-disk format.


# UTTYPE_TEXT

Availability
5.0.0
9.2.0
UTTYPE_TEXT :String

Uniform type identifier for all text types.


# UTTYPE_TIFF

Availability
5.0.0
9.2.0
UTTYPE_TIFF :String

Uniform type identifier for TIFF images.


# UTTYPE_TXN_TEXT_AND_MULTIMEDIA_DATA

Availability
5.0.0
9.2.0
UTTYPE_TXN_TEXT_AND_MULTIMEDIA_DATA :String

Uniform type identifier for MLTE (Textension) format for mixed text and multimedia data.


# UTTYPE_UTF16_EXTERNAL_PLAIN_TEXT

Availability
5.0.0
9.2.0
UTTYPE_UTF16_EXTERNAL_PLAIN_TEXT :String

Uniform type identifier for Unicode-16 with byte-order mark (BOM), or if BOM is not present, an external representation byte order (big-endian).


# UTTYPE_UTF16_PLAIN_TEXT

Availability
5.0.0
9.2.0
UTTYPE_UTF16_PLAIN_TEXT :String

Uniform type identifier for Unicode-16, native byte order, with an optional byte-order mark (BOM).


# UTTYPE_UTF8_PLAIN_TEXT

Availability
5.0.0
9.2.0
UTTYPE_UTF8_PLAIN_TEXT :String

Uniform type identifier for Unicode-8 plain text type.


# UTTYPE_VIDEO

Availability
5.0.0
9.2.0
UTTYPE_VIDEO :String

Uniform type identifier for all video content without audio.


# UTTYPE_WEB_ARCHIVE

Availability
5.0.0
9.2.0
UTTYPE_WEB_ARCHIVE :String

Uniform type identifier for WebKit webarchive format.


# UTTYPE_XML

Availability
5.0.0
9.2.0
UTTYPE_XML :String

Uniform type identifier for XML.