You are reading 13.0.1. See this page in 13.4.1.
Titanium.App.iOS
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:
- Enroll the application to send local notifications with the Titanium.App.iOS.registerUserNotificationSettings method.
- Schedule a local notification with the Titanium.App.iOS.scheduleLocalNotification method.
- 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:
- Create and configure notification actions with the Titanium.App.iOS.createUserNotificationAction method.
- Create notification categories and assign notification actions to them with the Titanium.App.iOS.createUserNotificationCategory method.
- Register the notification categories with the Titanium.App.iOS.registerUserNotificationSettings method.
- 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 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 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:
- Titanium.App.iOS.SearchableItemAttributeSet - Used to create metadata related to the
Ti.App.iOS.SearchableItem - Titanium.App.iOS.SearchableItem - Used to assemble metadata into a unique object package to be used by
Ti.App.iOS.SearchableIndex - Titanium.App.iOS.SearchableIndex - Used to add and remove
Ti.App.iOS.SearchableItemobjects to the device search index
Properties 72
Inherited from Titanium.Proxy
The name of the API that this proxy corresponds to.
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);
}
Use with setMinimumBackgroundFetchInterval method. Specifies the smallest fetch interval supported by the system.
Use with setMinimumBackgroundFetchInterval method. Used to specify a fetch interval large enough to prevent fetch operations from occurring.
Inherited from Titanium.Proxy
Indicates if the proxy will bubble an event to its parent.
Default: true
Deprecated since 7.3.0
Notification types and user notification categories the application is registered to use.
Convenience constant for system event "accessibilitylayoutchanged".
Convenience constant for system event "accessibilityscreenchanged".
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>
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.
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.
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.
The action will execute in background. Use with the activationMode property.
The action will launch the application and execute in the foreground. Use with the activationMode property.
A alert dialog is presented when the notification is received.
Used to check the alertStyle attribute received in
Titanium.App.iOS.UserNotificationCenter.requestUserNotificationSettings.
A banner is presented when the notification is received.
Used to check the alertStyle attribute received in
Titanium.App.iOS.UserNotificationCenter.requestUserNotificationSettings.
No banner or alert dialog is presented when the notification is received.
Used to check the alertStyle attribute received in
Titanium.App.iOS.UserNotificationCenter.requestUserNotificationSettings.
The application is authorized to post user notifications.
Used to check the authorizationStatus attribute received in
Titanium.App.iOS.UserNotificationCenter.requestUserNotificationSettings.
The application is not authorized to post user notifications.
Used to check the authorizationStatus attribute received in
Titanium.App.iOS.UserNotificationCenter.requestUserNotificationSettings.
The user has not yet made a choice regarding whether the application may post user notifications.
Used to check the authorizationStatus attribute received in
Titanium.App.iOS.UserNotificationCenter.requestUserNotificationSettings.
The application is provisionally authorized to post non-interruptive user notifications.
Used to check the authorizationStatus attribute received in
Titanium.App.iOS.UserNotificationCenter.requestUserNotificationSettings.
Default action behavior with no additional action support.
Use with the behavior property.
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.
Allow CarPlay to display notifications of this type.
Used in the options attribute when creating a Titanium.App.iOS.UserNotificationCategory.
Send dismiss actions to the UNUserNotificationCenter object's delegate for handling.
Used in the options attribute when creating a Titanium.App.iOS.UserNotificationCategory.
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.
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.
No options.
Used in the options attribute when creating a Titanium.App.iOS.UserNotificationCategory.
The notification setting is turned off.
Used to check application-wide enabled notification settings received in Titanium.App.iOS.UserNotificationCenter.requestUserNotificationSettings.
The notification setting is turned on.
Used to check application-wide enabled notification settings received in Titanium.App.iOS.UserNotificationCenter.requestUserNotificationSettings.
The application does not support this notification type.
Used to check application-wide enabled notification settings received in Titanium.App.iOS.UserNotificationCenter.requestUserNotificationSettings.
The application may display an alert upon a notification being received. Use with the types property.
The application may badge its icon upon a notification being received. Use with the types property.
The ability to play sounds for critical alerts. Use with the types property.
The application may not present any UI upon a notification being received. Use with the types property.
An option indicating the system should display a button for in-app notification settings. Use with the types property.
The ability to post non-interrupting notifications provisionally to the Notification Center. Use with the types property.
The application may play a sound upon a notification being received. Use with the types property.
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.
Uniform type identifier for Mac OS icon images.
Value "com.apple.icns"
Uniform type identifier for protected MPEG-4 audio (iTunes music store format).
Uniform type identifier for all audio content.
Value "public.audio"
Uniform type identifier for Windows bitmap images.
Value "com.microsoft.bmp"
Uniform type identifier for Rich Text with content embedding, pasteboard format.
Value "com.apple.flat-rtfd"
Uniform type identifier for GIF images.
Value "com.compuserve.gif"
Uniform type identifier for HTML.
Value "public.html"
Uniform type identifier for Windows icon images.
Value "com.microsoft.ico"
Uniform type identifier for all image types.
Value "public.image"
Uniform type identifier for JPEG images.
Value "public.jpeg"
Uniform type identifier for JPEG 2000 images.
Value "public.jpeg-2000"
Uniform type identifier for all audiovisual content.
Value "public.movie"
Uniform type identifier for MP3 audio.
Value "public.mp3"
Uniform type identifier for MPEG-1 and MPEG-2 content.
Value "public.mpeg"
Uniform type identifier for MPEG-4 content.
Value "public.mpeg-4"
Uniform type identifier for MPEG-4 audio.
Value "public.mpeg-4-audio"
Uniform type identifier for PDF data.
Value "com.adobe.pdf"
Uniform type identifier for PICT images.
Value "com.apple.pict"
Uniform type identifier for a plain text type, equivalent to MIME type text/plain.
Value "public.plain-text"
Uniform type identifier for PNG images.
Value "public.png"
Uniform type identifier for QuickTime images.
Value "com.apple.quicktime-image"
Uniform type identifier for QuickTime movies.
Value "com.apple.quicktime-movie"
Uniform type identifier for Rich Text.
Value "public.rtf"
Uniform type identifier for Rich Text Format Directory, that is, Rich Text with content embedding, on-disk format.
Value "com.apple.rtfd"
Uniform type identifier for all text types.
Value "public.text"
Uniform type identifier for TIFF images.
Value "public.tiff"
Uniform type identifier for MLTE (Textension) format for mixed text and multimedia data.
Uniform type identifier for Unicode-16 with byte-order mark (BOM), or if BOM is not present, an external representation byte order (big-endian).
Uniform type identifier for Unicode-16, native byte order, with an optional byte-order mark (BOM).
Uniform type identifier for Unicode-8 plain text type.
Value "public.utf8-plain-text"
Uniform type identifier for all video content without audio.
Value "public.video"
Uniform type identifier for WebKit webarchive format.
Value "com.apple.webarchive"
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 | Type | Description |
|---|---|---|
| name | String | Name of the event. |
| callback | Callback<Titanium.Event> | Callback function to invoke when the event is fired. 4 fields
|
applyProperties
since 3.0.0Inherited from Titanium.Proxy
Applies the properties to the proxy.
| Parameters | Type | Description |
|---|---|---|
| props | Dictionary | A dictionary of properties to apply. |
cancelAllLocalNotifications
deprecatedDeprecated since 7.3.0
Cancels all scheduled local notifications.
cancelLocalNotification
deprecatedDeprecated since 7.3.0
Cancels a local notification.
| Parameters | Type | Description |
|---|---|---|
| id | Number | String | Application-created ID of the local notification to cancel.
To create an ID for the notification, set the |
createSearchableIndex
since 5.0.0Creates and returns an instance of Titanium.App.iOS.SearchableIndex.
| Parameters | Type | Description |
|---|---|---|
| parameters? | Dictionary<Titanium.App.iOS.SearchableIndex> | Properties to set on a new object, including any defined by Titanium.App.iOS.SearchableIndex except those marked not-creation or read-only. |
createSearchableItem
since 5.0.0Creates and returns an instance of Titanium.App.iOS.SearchableItem.
| Parameters | Type | Description |
|---|---|---|
| parameters? | Dictionary<Titanium.App.iOS.SearchableItem> | Properties to set on a new object, including any defined by Titanium.App.iOS.SearchableItem except those marked not-creation or read-only. |
createSearchableItemAttributeSet
since 5.0.0Creates and returns an instance of Titanium.App.iOS.SearchableItemAttributeSet.
| Parameters | Type | Description |
|---|---|---|
| parameters? | Dictionary<Titanium.App.iOS.SearchableItemAttributeSet> | Properties to set on a new object, including any defined by Titanium.App.iOS.SearchableItemAttributeSet except those marked not-creation or read-only. |
createSearchQuery
since 5.5.0Creates and returns an instance of Titanium.App.iOS.SearchQuery.
| Parameters | Type | Description |
|---|---|---|
| parameters? | Dictionary<Titanium.App.iOS.SearchQuery> | Properties to set on a new object, including any defined by Titanium.App.iOS.SearchQuery except those marked not-creation or read-only. |
createUserActivity
since 5.0.0Creates and returns an instance of Titanium.App.iOS.UserActivity.
| Parameters | Type | Description |
|---|---|---|
| parameters? | Dictionary<Titanium.App.iOS.UserActivity> | Properties to set on a new object, including any defined by Titanium.App.iOS.UserActivity except those marked not-creation or read-only. |
createUserDefaults
since 4.0.0Creates and returns an instance of Titanium.App.iOS.UserDefaults.
| Parameters | 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. |
createUserNotificationAction
since 3.4.0Creates and returns an instance of Titanium.App.iOS.UserNotificationAction.
| Parameters | 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. |
createUserNotificationCategory
since 3.4.0Creates and returns an instance of Titanium.App.iOS.UserNotificationCategory.
| Parameters | 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. |
endBackgroundHandler
since 3.2.0Marks 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 | Type | Description |
|---|---|---|
| handlerID | String | Unique string identifier for the event ( |
Inherited from Titanium.Proxy
Fires a synthesized event to any registered listeners.
| Parameters | 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. |
Registers a service to run when the application is placed in the background.
| Parameters | Type | Description |
|---|---|---|
| params | Dictionary | Parameters used to create the service. Must include a |
registerUserNotificationSettings
since 3.4.0Registers 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 | Type | Description |
|---|---|---|
| params | UserNotificationSettings | Parameters used to enroll the application in local notifications. 2 fields
|
Inherited from Titanium.Proxy
Removes the specified callback as an event listener for the named event.
| Parameters | Type | Description |
|---|---|---|
| name | String | Name of the event. |
| callback | Callback<Titanium.Event> | Callback function to remove. Must be the same function passed to 4 fields
|
Schedule a local notification.
| Parameters | Type | Description |
|---|---|---|
| params | NotificationParams | Parameters used to create a notification. 17 fields
|
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 | Type | Description |
|---|---|---|
| handlerId | String | Unique string identifier for the event ( |
| userInfo | Dictionary | Custom data object which will be passed in the reply method to your WatchKit extension. |
setMinimumBackgroundFetchInterval
since 3.2.0Specifies 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 | 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. |
Events 18
backgroundfetch
since iPhone 3.2.0, iPad 3.2.0, macOS 9.2.0Fired 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 | Type | Description |
|---|---|---|
| handlerId | String | Unique string identifier for the |
backgroundtransfer
since 3.2.0Fired 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 | Type | Description |
|---|---|---|
| handlerId | String | Unique string identifier for the |
| 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 |
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 | Type | Description |
|---|---|---|
| activityType | String | Unique string identifier for the handoff user activity. The identifier must be defined in your |
| 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. |
downloadcompleted
since 3.2.0Fired 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 | Type | Description |
|---|---|---|
| taskIdentifier | Number | The |
| sessionIdentifier | String | The |
| data | Titanium.Blob | The downloaded data as a Titanium.Blob object. |
downloadprogress
since 3.2.0Fired 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 | Type | Description |
|---|---|---|
| taskIdentifier | Number | The |
| sessionIdentifier | String | The |
| 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. |
handleurl
since 6.0.0Fired 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 | Type | Description |
|---|---|---|
| launchOptions | LaunchOptionsType | The launch options that are related to opening the URL. 2 fields
|
Fired when a user selects an action for an interactive local notification.
| Event properties | 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 |
| 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 |
| 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 category object. Available in Titanium SDK 7.5.0+ and iOS 10+. |
Fired when a local notification is received by the application.
| Event properties | 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 |
| 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 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 | 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. |
screenshotcaptured
since 9.1.0Fired after the user takes a screenshot, e.g. by pressing both the home and lock screen buttons.
sessioncompleted
since 3.2.0Fired 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 | Type | Description |
|---|---|---|
| taskIdentifier | Number | The |
| sessionIdentifier | String | The |
| 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. |
sessioneventscompleted
since 3.2.0Fired 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 | Type | Description |
|---|---|---|
| sessionIdentifier | String | The |
Fired when a user taps the Application Shortcut.
| Event properties | 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. |
silentpush
since 3.2.0Fired 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 | Type | Description |
|---|---|---|
| handlerId | String | Unique string identifier for the |
traitcollectionchange
since 8.2.0Fired when the trait collection of the device changes, e.g. the user interface style.
uploadprogress
since 3.2.0Fired 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 | Type | Description |
|---|---|---|
| taskIdentifier | Number | The |
| sessionIdentifier | String | The |
| 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. |
usernotificationsettings
since 3.4.0Fired when the user notification settings are registered.
| Event properties | 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. |
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 | Type | Description |
|---|---|---|
| handlerId | String | Unique string identifier for the |
| userInfo | Dictionary | The payload passed to the |