Skip to content
Titanium SDK
Version12.7.0

You are reading 12.7.0. See this page in 13.4.1.

Titanium.App.iOS.SearchableItemAttributeSet

proxyiPhoneiPadmacOSsince 5.0.0

Extends Titanium.Proxy

The SearchableItemAttributeSet module defines metadata properties for SearchItem and UserActivity objects.

The SearchableItemAttributeSet object provides a large number of properties covering most common scenarios such as files, music, video, and document searches. To effectively add and remove information from the iOS search index you will need to use the below listed modules:

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

To create a SearchableItemAttributeSet object, use the Titanium.App.iOS.createSearchableItemAttributeSet method. Pass a dictionary of metadata properties to the method to associate with a SearchableItem object or UserActivity. At minimum, you must set the itemContentType property.

Pass the SearchableItemAttributeSet object to either the Titanium.App.iOS.createSearchableItem method to the attributeSet key or to a UserActivity object's addContentAttributeSet() method.

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"
});

itemAttr.contentDescription ="Tech Example \nOn: " + String.formatDate(new Date(),"short");
itemAttr.keywords =["Mobile","Appcelerator","Titanium"];

var item = Ti.App.iOS.createSearchableItem({
    uniqueIdentifier:"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));
    }
});

Properties 96

addedDate

String

The date that the item was moved into the current location.

The date will be a string in the following format: "yyyy-MM-dd'T'HH:mm:ss.SSS'+0000'" For example, 2015-12-25T23:30:55.978+0000

album

String

The title for a collection of media.

alternateNames

Array<String>

An array of localized strings of alternate display names for this item.

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.

artist

String

The artist for the media.

audiences

Array<String>

A class of entity for whom the resource is intended or useful.

A class of entity may be determined by the creator, publisher or third party.

The number of channels in the audio data contained in the file.

This item only represents the number of discreet channels of audio data found in the file. It does not indicate any configuration of the data in regards to a user's speaker setup.

The sample rate of the audio data contained in the file.

The sample rate is a float value representing Hertz (audio_frames/second), for example, 44100.0 or 22254.54.

The track number of a song/composition when it is part of an album.

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

codecs

Array<String>

The codecs used to encode/decode the media.

comment

String

Comment related to a file.

composer

String

The composer of the song/composition contained in the audio file.

contactKeywords

Array<String>

A list of contacts that are somehow associated with this document beyond what is captured as Author.

The date that the contents of the item were created.

The date will be a string in the following format: "yyyy-MM-dd'T'HH:mm:ss.SSS'+0000'" For example, 2015-12-25T23:30:55.978+0000

An account of the content of the resource.

Description may include but is not limited to: an abstract, table of contents, reference to a graphical representation of content or a free-text account of the content.

The date that the contents of the item were last modified.

The date will be a string in the following format: "yyyy-MM-dd'T'HH:mm:ss.SSS'+0000'" For example, 2015-12-25T23:30:55.978+0000

Whether or not the item has explicit content. Set to 1 for explicit or 0 for clean.

contentSources

Array<String>

Used to indicate where the item was obtained from.

contentTypeTree

Array<String>

Array of strings related to the content tree of the item.

File URL representing the content to be indexed.

contributors

Array<String>

Used to designate the entity responsible for making contributions to the content of the resource.

coverage

Array<String>

Used to designate the extent or scope of the content of the resource.

creator

String

Application used to create the document content (e.g. "Word","Framemaker", etc.).

The delivery type of the item. Set to 0 for fast start and 1 for RTSP.

director

String

Director of the item, for example, the movie director.

A localized string to be displayed in the UI for this item.

The date that the file was last downloaded / received.

The date will be a string in the following format: "yyyy-MM-dd'T'HH:mm:ss.SSS'+0000'" For example, 2015-12-25T23:30:55.978+0000

duration

Number

Duration in seconds of the content of the item (if appropriate).

editors

Array<String>

The list of editor/editors that have worked on this item.

fileSize

Number

Size of the document in MB.

fontNames

Array<String>

Array of font names used in the item.

Used to indicates whether the MIDI sequence contained in the file is setup for use with a General MIDI device.

Should be 1 if true and 0 otherwise.

genre

String

Genre of the item, for example, movie genre.

Used to reference to the resource within a given context.

Recommended best practice is to identify the resource by means of a string or number conforming to a formal identification system.

Content type of the attribute set.

Must be set to create a SearchableItemAttributeSet object. Set to an identifier in the iOS Developer Library: System-Declared Uniform Type Identifiers

Accepts 33 constants

The musical key of the song/composition contained in an audio file.

keywords

Array<String>

Represents keywords associated with this particular item. Example keywords might be Birthday etc.

kind

String

Kind that the item represents.

languages

Array<String>

Used to designate the languages of the intellectual content of the resource.

The date that the item was last used.

The date will be a string in the following format: "yyyy-MM-dd'T'HH:mm:ss.SSS'+0000'" For example, 2015-12-25T23:30:55.978+0000

local

Number

Whether or not the item is local. Set to 1 if true and 0 otherwise.

lyricist

String

The lyricist/text writer for song/composition contained in the audio file.

mediaTypes

Array<String>

Media types present in the content.

The date that the last metadata attribute was changed.

The date will be a string in the following format: "yyyy-MM-dd'T'HH:mm:ss.SSS'+0000'" For example, 2015-12-25T23:30:55.978+0000

The musical genre of the song/composition contained in the audio file.

Metadata attribute that stores the category of instrument.

Files should have an instrument associated with them ("Other Instrument" is provided as a catch-all). For some categories, like "Keyboards" there are instrument names which provide a more detailed instrument definition, for example, Piano, Organ, etc.

Metadata attribute that stores the name of instrument.

Relative to the instrument category. Files can have an instrument name associated with them if they have certain instrument categories, for example, the category Percussion has multiple instruments, including Conga and Bongo.

organizations

Array<String>

Used to indicate company/Organization that created the document.

Height in points (72 points per inch) of the document page.

First page only for PDF's - other pages within the PDF may not be the same height.

pageWidth

Number

Width in points (72 points per inch) of the document page.

First page only for PDF's - other pages within the PDF may not be the same width.

participants

Array<String>

The list of people who are visible in an image or movie or written about in a document.

path

String

The complete path to the item.

playCount

Number

User play count of this item.

postalCode

Stringsince 6.0.0

The postal code for the item according to guidelines established by the provider.

projects

Array<String>

The list of projects that this item is part of.

publishers

Array<String>

Used to designate the entity responsible for making the resource available.

rating

Number

User rating of this item out of 5 stars.

A description of the rating, for example, the number of reviewers.

The recording date of the song/composition.

This information differs from the contentCreationDate attribute as it indicates the date that the 'art' was created, in contrast to contentCreationDate which for example, could indicate the creation date of an edited or 'mastered' version of the original art.

The date will be a string in the following format: "yyyy-MM-dd'T'HH:mm:ss.SSS'+0000'" For example, 2015-12-25T23:30:55.978+0000

For activities this is the unique identifier for the item this activity is related to.

rights

Array<String>

Used to provide a link to information about rights held in and over resource.

role

String

Used to indicate the role of the document creator.

Whether the content is prepared for streaming. Set to 0 for not streamable and 1 for streamable.

subject

String

Subject of the the item.

subThoroughfare

Stringsince 6.0.0

The sub-location (e.g., street number) for the item according to guidelines established by the provider.

Used to determine if navigation is supported.

If supportsNavigation is set to 1, and the item has the latitude and longitude properties set, then the latitude and longitude may be used for navigation. For example, supportsNavigation would be set on a restaurant review, but not on a photo.

Used to indicate that using the phone number is appropriate.

If supportsPhoneCall is 1 and the item has the phoneNumbers property set, then the phone number may be used to initiate phone calls. This should be used to indicate that using the phone number is appropriate, and a primary action for the user. For example, supportsPhoneCall would be set on a business, but not an academic paper that happens to have phone numbers for the authors or the institution.

tempo

Number

The tempo of the music contained in the audio file in Beats Per Minute.

theme

String

Theme of the the item.

thoroughfare

Stringsince 6.0.0

The location (e.g., street name) for the item according to guidelines established by the provider.

File URL pointing to a thumbnail image for this item.

The time signature of the musical composition contained in the audio/MIDI file.

title

String

The title of the particular item.

The total bit rate (audio and video combined) of the media.

url

String

URL of the item.

version

String

A version specifier for this item.

Methods 4

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.

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.

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.

Compiled from Titanium/App/iOS/SearchableItemAttributeSet.ymlEdit on GitHub