# Titanium.App.iOS.SearchableIndex

The SearchableIndex module is used to add or remove Ti.App.iOS.SearchableItem objects from the device search index.

Availability
5.0.0
9.2.0

# Overview

To effectively add and remove information from the iOS search index you will need to use the following modules:

To use this feature make sure you have a compatible device running iOS 9 or later.

# Examples

# Add Searchable Content to the On-Device Index

The following example demonstrates how to create a new Ti.App.iOS.SearchableItem and add a Ti.App.iOS.SearchableItemAttributeSet. The Ti.App.iOS.SearchableItem is then passed to the Ti.App.iOS.SearchableIndex object to add it to the on-device search index.

# app.js

var searchItems = [];
var itemAttr = Ti.App.iOS.createSearchableItemAttributeSet({
    itemContentType: Ti.App.iOS.UTTYPE_IMAGE,
    title:"Titanium Core Spotlight Tutorial",
    contentDescription:"Tech Example \nOn: " + String.formatDate(new Date(),"short"),
    keywords:["Mobile","Appcelerator","Titanium"]
});

var item = Ti.App.iOS.createSearchableItem({
    identifier:"my-id",
    domainIdentifier:"com.mydomain",
    attributeSet:itemAttr
});
searchItems.push(item);

var indexer = Ti.App.iOS.createSearchableIndex();

indexer.addToDefaultSearchableIndex([searchItems],function(e){
    if(e.success){
        alert("Press the home button and now search for your keywords");
    }else{
        alert("Errored: " + JSON.stringify(e.error));
    }
});

# Methods

# addToDefaultSearchableIndex

Availability
5.0.0
9.2.0
addToDefaultSearchableIndex(Array, callback) void

Adds an array of Titanium.App.iOS.SearchableItem objects to the default search index.

Parameters

Name Type Description
Array Array<Titanium.App.iOS.SearchableItem>

Array of Titanium.App.iOS.SearchableItem objects to be added to the default search index.

callback Callback<Dictionary>

Function to invoke on success or failure of adding the array Titanium.App.iOS.SearchableItem object to the default search index.

Returns

Type
void

# deleteAllSearchableItemByDomainIdenifiers

Availability
5.0.0
9.2.0
deleteAllSearchableItemByDomainIdenifiers(Array, callback) void

Removes search items based on an array of domain identifiers.

Parameters

Name Type Description
Array Array<String>

Array of domain identifiers to be removed from the default search index.

callback Callback<Dictionary>

Function to invoke on success or failure of removing search items from the default search index.

Returns

Type
void

# deleteAllSearchableItems

Availability
5.0.0
9.2.0
deleteAllSearchableItems(callback) void

Removes all search items added by the application.

Parameters

Name Type Description
callback Callback<Dictionary>

Function to invoke on success or failure of deleting all search items.

Returns

Type
void

# deleteSearchableItemsByIdentifiers

Availability
5.0.0
9.2.0
deleteSearchableItemsByIdentifiers(Array, callback) void

Removes search items based on an array of identifiers.

Parameters

Name Type Description
Array Array<String>

Array of identifiers to be removed from the default search index.

callback Callback<Dictionary>

Function to invoke on success or failure of removing search items from the default search index.

Returns

Type
void

# isSupported

Availability
5.0.0
9.2.0
isSupported() Boolean

Indicates whether indexing is supported by the device.

Returns

Type
Boolean