Skip to content
Titanium SDK
Version13.3.0

You are reading 13.3.0. See this page in 13.4.1.

Titanium.App.iOS

moduleiPhoneiPadmacOSsince iPhone 1.5.0, iPad 1.5.0, macOS 9.2.0

Extends Titanium.ModuleTitanium.Proxy

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

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 notification event to respond to the notification.

For instructions on sending local interactive notifications, see the iOS Local Notifications guide.

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 localnotificationaction event.

For instructions on sending local interactive notifications, see the iOS Local Notifications guide.

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.

Handoff User Activities

Handoff allows you to create and transfer user activities 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 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 72

apiName

Stringsince Android 3.2.0, iPhone 3.2.0, iPad 3.2.0, macOS 9.2.0read-only

Inherited from Titanium.Proxy

The name of the API that this proxy corresponds to.

applicationOpenSettingsURL

Stringsince 3.4.0read-only

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

Booleansince Android 3.0.0, iPhone 3.0.0, iPad 3.0.0, macOS 9.2.0

Inherited from Titanium.Proxy

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

Default: true

supportedUserActivityTypes

Array<String>since 5.0.0read-only

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](api:Global.String)com.setdirection.home</string>
        [string](api:Global.String)com.setdirection.shelf</string>
        [string](api:Global.String)com.setdirection.item</string>
      </array>
    </dict>
    </plist>
  </ios>

USER_INTERFACE_STYLE_DARK

Numberdeprecatedsince 8.2.0read-onlyiOS 13.0+

Deprecated since 9.1.0

Use <Titanium.UI.USER_INTERFACE_STYLE_DARK> instead, which is supported cross-platform.

A dark interface style.

Used in the userInterfaceStyle property.

USER_INTERFACE_STYLE_LIGHT

Numberdeprecatedsince 8.2.0read-onlyiOS 13.0+

Deprecated since 9.1.0

Use <Titanium.UI.USER_INTERFACE_STYLE_LIGHT> instead, which is supported cross-platform.

A light interface style.

Used in the userInterfaceStyle property.

USER_INTERFACE_STYLE_UNSPECIFIED

Numberdeprecatedsince 8.2.0read-onlyiOS 13.0+

Deprecated since 9.1.0

Use <Titanium.UI.USER_INTERFACE_STYLE_UNSPECIFIED> instead, which is supported cross-platform.

An unspecified interface style.

Used in the userInterfaceStyle property.

USER_NOTIFICATION_BEHAVIOR_TEXTINPUT

Numbersince 5.1.0read-only

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_TYPE_ALERT

Numbersince 3.4.0read-only

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

USER_NOTIFICATION_TYPE_BADGE

Numbersince 3.4.0read-only

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

USER_NOTIFICATION_TYPE_NONE

Numbersince 3.4.0read-only

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

USER_NOTIFICATION_TYPE_PROVISIONAL

Numbersince 7.4.0read-only

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

USER_NOTIFICATION_TYPE_SOUND

Numbersince 3.4.0read-only

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

userInterfaceStyle

Numberdeprecatedsince 8.2.0read-onlyiOS 13.0+

Deprecated since 9.1.0

Use <Titanium.UI.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.

UTTYPE_APPLE_ICNS

Stringsince 5.0.0read-only

Uniform type identifier for macOS icon images.

Value "com.apple.icns"

UTTYPE_AUDIO

Stringsince 5.0.0read-only

Uniform type identifier for all audio content.

Value "public.audio"

UTTYPE_BMP

Stringsince 5.0.0read-only

Uniform type identifier for Windows bitmap images.

Value "com.microsoft.bmp"

UTTYPE_FLAT_RTFD

Stringsince 5.0.0read-only

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

Value "com.apple.flat-rtfd"

UTTYPE_GIF

Stringsince 5.0.0read-only

Uniform type identifier for GIF images.

Value "com.compuserve.gif"

UTTYPE_HTML

Stringsince 5.0.0read-only

Uniform type identifier for HTML.

Value "public.html"

UTTYPE_ICO

Stringsince 5.0.0read-only

Uniform type identifier for Windows icon images.

Value "com.microsoft.ico"

UTTYPE_IMAGE

Stringsince 5.0.0read-only

Uniform type identifier for all image types.

Value "public.image"

UTTYPE_JPEG

Stringsince 5.0.0read-only

Uniform type identifier for JPEG images.

Value "public.jpeg"

UTTYPE_JPEG2000

Stringsince 5.0.0read-only

Uniform type identifier for JPEG 2000 images.

Value "public.jpeg-2000"

UTTYPE_MOVIE

Stringsince 5.0.0read-only

Uniform type identifier for all audiovisual content.

Value "public.movie"

UTTYPE_MP3

Stringsince 5.0.0read-only

Uniform type identifier for MP3 audio.

Value "public.mp3"

UTTYPE_MPEG

Stringsince 5.0.0read-only

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

Value "public.mpeg"

UTTYPE_MPEG4

Stringsince 5.0.0read-only

Uniform type identifier for MPEG-4 content.

Value "public.mpeg-4"

UTTYPE_MPEG4_AUDIO

Stringsince 5.0.0read-only

Uniform type identifier for MPEG-4 audio.

Value "public.mpeg-4-audio"

UTTYPE_PDF

Stringsince 5.0.0read-only

Uniform type identifier for PDF data.

Value "com.adobe.pdf"

UTTYPE_PICT

Stringsince 5.0.0read-only

Uniform type identifier for PICT images.

Value "com.apple.pict"

UTTYPE_PLAIN_TEXT

Stringsince 5.0.0read-only

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

Value "public.plain-text"

UTTYPE_PNG

Stringsince 5.0.0read-only

Uniform type identifier for PNG images.

Value "public.png"

UTTYPE_QUICKTIME_IMAGE

Stringsince 5.0.0read-only

Uniform type identifier for QuickTime images.

Value "com.apple.quicktime-image"

UTTYPE_QUICKTIME_MOVIE

Stringsince 5.0.0read-only

Uniform type identifier for QuickTime movies.

Value "com.apple.quicktime-movie"

UTTYPE_RTF

Stringsince 5.0.0read-only

Uniform type identifier for Rich Text.

Value "public.rtf"

UTTYPE_RTFD

Stringsince 5.0.0read-only

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

Value "com.apple.rtfd"

UTTYPE_TEXT

Stringsince 5.0.0read-only

Uniform type identifier for all text types.

Value "public.text"

UTTYPE_TIFF

Stringsince 5.0.0read-only

Uniform type identifier for TIFF images.

Value "public.tiff"

UTTYPE_UTF16_EXTERNAL_PLAIN_TEXT

Stringsince 5.0.0read-only

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

Stringsince 5.0.0read-only

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

UTTYPE_UTF8_PLAIN_TEXT

Stringsince 5.0.0read-only

Uniform type identifier for Unicode-8 plain text type.

Value "public.utf8-plain-text"

UTTYPE_VIDEO

Stringsince 5.0.0read-only

Uniform type identifier for all video content without audio.

Value "public.video"

UTTYPE_WEB_ARCHIVE

Stringsince 5.0.0read-only

Uniform type identifier for WebKit webarchive format.

Value "com.apple.webarchive"

UTTYPE_XML

Stringsince 5.0.0read-only

Uniform type identifier for XML.

Value "public.xml"

Methods 20

Inherited from Titanium.Proxy

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

Parameters
ParametersTypeDescription
nameString

Name of the event.

callbackCallback<Titanium.Event>

Callback function to invoke when the event is fired.

4 fields
bubbles Boolean

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

cancelBubble Boolean

Set to true to stop the event from bubbling.

source Object

Source object that fired the event.

type String

Name of the event fired.

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
ParametersTypeDescription
handlerIDString

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

Inherited from Titanium.Proxy

Fires a synthesized event to any registered listeners.

Parameters
ParametersTypeDescription
nameString

Name of the event.

event?Dictionary

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

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

Parameters
ParametersTypeDescription
paramsDictionary

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.

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 Titanium.Network.registerForPushNotifications.

Parameters
ParametersTypeDescription
paramsUserNotificationSettings

Parameters used to enroll the application in local notifications.

2 fields
categories Array<Titanium.App.iOS.UserNotificationCategory>

Set of categories of user notification actions required by the application to use.

types Array<Number>

Notification types to use.

Inherited from Titanium.Proxy

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

Parameters
ParametersTypeDescription
nameString

Name of the event.

callbackCallback<Titanium.Event>

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

4 fields
bubbles Boolean

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

cancelBubble Boolean

Set to true to stop the event from bubbling.

source Object

Source object that fired the event.

type String

Name of the event fired.

Schedule a local notification.

Parameters
ParametersTypeDescription
paramsNotificationParams

Parameters used to create a notification.

17 fields
alertAction? String

Alert button text ('Open', by default) or home text ('Press Home to unlock', by default) to display.

alertBody? String

Alert message to display.

alertLaunchImage? String

Image to display instead of Default.png when launching the application.

alertSubtitle? String

Alert subtitle to display.

alertTitle? String

Alert title to display.

attachments? Array<UserNotificationAttachment>

Notification attachments to display.

badge? Number

Application badge value.

category? String

String identifier of category of actions to be displayed for an interactive notification.

date Date

Date and time for the notification to occur.

identifier String

The notification identifier.

region? Dictionary

Region the notification will be triggered in. Allowed parameter are:

  • latitude: Latitude of the location center, in decimal degrees (required).
  • longitude: Longitude of the location center, in decimal degrees (required).
  • triggersOnce: Whether or not the notification will only fire once (optional, default: true).
repeat? String

Interval to repeat the notification. One of weekly, daily, yearly, monthly.

sound? String

Path to the sound file to play when notification occurs, relative to the Resources folder.

summaryArgument String

The string the notification adds to the category's summary format string.

summaryArgumentCount String

The number of items the notification adds to the category's summary format string.

timezone? String

Timezone of the date configured for the notification. If not set, the system timezone is used.

userInfo? Dictionary

Data to pass to the application with the notification event.

sendWatchExtensionReply

deprecatedsince 4.1.0iOS 8.2+

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 Titanium 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
ParametersTypeDescription
handlerIdString

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

userInfoDictionary

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

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 Titanium.App.iOS.BACKGROUNDFETCHINTERVAL_NEVER. Therefore, you must call this method and set a fetch interval before your app is given background execution time.

Parameters
ParametersTypeDescription
fetchIntervalNumber

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.

Events 18

backgroundfetch

since iPhone 3.2.0, iPad 3.2.0, macOS 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 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.

Event properties
Event propertiesTypeDescription
handlerIdString

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

Fired when the events related to a 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.

Event properties
Event propertiesTypeDescription
handlerIdString

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

sessionIdString

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.

continueactivity

since 5.0.0iOS 8.2+

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);
});
Event properties
Event propertiesTypeDescription
activityTypeString

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

searchableItemActivityIdentifierString

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

titleString

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

webpageURLString

The optional webpageURL provided to the user activity.

userInfoDictionary

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.

Fired to indicate that a urlSession's 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.

Event properties
Event propertiesTypeDescription
taskIdentifierNumber

The urlSession download task's identifier.

sessionIdentifierString

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.

dataTitanium.Blob

The downloaded data as a Titanium.Blob object.

downloadprogress

since 3.2.0

Fired periodically to inform the app about the download's progress of a 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.

Event properties
Event propertiesTypeDescription
taskIdentifierNumber

The urlSession download task's identifier.

sessionIdentifierString

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.

bytesWrittenNumber

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

totalBytesWrittenNumber

The total number of bytes transferred so far.

totalBytesExpectedToWriteNumber

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

handleurl

since 6.0.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>.

Event properties
Event propertiesTypeDescription
launchOptionsLaunchOptionsType

The launch options that are related to opening the URL.

2 fields
source String

The application or service that triggered the handled URL.

url String

The URL that was triggered by the application or service.

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

Event properties
Event propertiesTypeDescription
alertActionString

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

alertBodyString

Alert message.

alertLaunchImageString

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

badgeNumber

Application badge value.

dateDate

Date and time when the notification was configured to fire.

identifierString

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

soundString

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

timezoneString

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

typedTextString

User input if the notification used the USER_NOTIFICATION_BEHAVIOR_TEXTINPUT behavior.

userInfoDictionary

Custom data object.

inBackgroundBoolean

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).

threadIdentifierString

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+.

categoryString

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

Fired when a local notification is received by the application.

Event properties
Event propertiesTypeDescription
alertActionString

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

alertBodyString

Alert message.

alertLaunchImageString

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

badgeNumber

Application badge value.

dateDate

Date and time when the notification was configured to fire.

soundString

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

timezoneString

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

userInfoDictionary

Custom data object.

inBackgroundBoolean

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.

threadIdentifierString

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+.

categoryString

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

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

Event properties
Event propertiesTypeDescription
dataDictionary

The payload passed to the Apple Push Notification Service.

categoryString

Identifier of the category of the interactive notification.

identifierString

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

sessioncompleted

since 3.2.0

Fired to indicate that a 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.

Event properties
Event propertiesTypeDescription
taskIdentifierNumber

The urlSession download task's identifier.

sessionIdentifierString

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.

successBoolean

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

errorCodeNumber

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

messageString

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

responseTextString

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

statusCodeNumber

The response status code for tasks.

Fired to indicate that all messages enqueued for a 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.

Event properties
Event propertiesTypeDescription
sessionIdentifierString

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.

shortcutitemclick

iPhonesince 5.1.0

Fired when a user taps the Application Shortcut.

Event properties
Event propertiesTypeDescription
itemtypeString

The unique identifier for the application shortcut.

titleString

The title of the application shortcut.

subtitleString

The subtitle of the application shortcut.

userInfoDictionary

The payload passed by the application shortcut.

silentpush

since 3.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 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
}
Event properties
Event propertiesTypeDescription
handlerIdString

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

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

uploadprogress

since 3.2.0

Fired periodically to inform the app about the upload's progress of a 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.

Event properties
Event propertiesTypeDescription
taskIdentifierNumber

The urlSession upload task's identifier.

sessionIdentifierString

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.

bytesSentNumber

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

totalBytesSentNumber

The total number of bytes transferred so far.

totalBytesExpectedToSendNumber

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

Fired when the user notification settings are registered.

Event properties
Event propertiesTypeDescription
typesArray<Number>

Notification types the application is registered to use.

categoriesArray<Titanium.App.iOS.UserNotificationCategory>

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

watchkitextensionrequest

deprecatedsince 4.1.0iOS 8.2+

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);
});
Event properties
Event propertiesTypeDescription
handlerIdString

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

userInfoDictionary

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