You are reading 13.2.0. See this page in 13.4.1.
Titanium.App.iOS.SearchableItemAttributeSet
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:
- 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
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
StringThe 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
StringThe title for a collection of media.
alternateNames
Array<String>An array of localized strings of alternate display names for this item.
Inherited from Titanium.Proxy
The name of the API that this proxy corresponds to.
artist
StringThe 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.
audioBitRate
NumberThe audio bit rate.
audioChannelCount
NumberThe 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.
audioEncodingApplication
StringThe name of the application that encoded the data contained in the audio file.
audioSampleRate
NumberThe 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.
audioTrackNumber
NumberThe track number of a song/composition when it is part of an album.
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
StringComment related to a file.
composer
StringThe 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.
containerDisplayName
StringDisplay of the search container
containerIdentifier
StringIdentifier for the search container
containerOrder
NumberOrder the search container is displayed.
containerTitle
StringTitle displayed in the search container
contentCreationDate
StringThe 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
contentDescription
StringAn 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.
contentModificationDate
StringThe 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
contentRating
NumberWhether 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.
contentType
StringUTI Type pedigree for an item.
contentTypeTree
Array<String>Array of strings related to the content tree of the item.
contentURL
StringFile 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.
copyright
StringCopyright of the content.
coverage
Array<String>Used to designate the extent or scope of the content of the resource.
creator
StringApplication used to create the document content (e.g. "Word","Framemaker", etc.).
deliveryType
NumberThe delivery type of the item. Set to 0 for fast start and 1 for RTSP.
director
StringDirector of the item, for example, the movie director.
displayName
StringA localized string to be displayed in the UI for this item.
downloadedDate
StringThe 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
NumberDuration in seconds of the content of the item (if appropriate).
editors
Array<String>The list of editor/editors that have worked on this item.
encodingApplications
Array<String>Software used to convert the original content into a PDF stream.
fileSize
NumberSize of the document in MB.
fontNames
Array<String>Array of font names used in the item.
The fully formatted address of the item (obtained from MapKit).
generalMIDISequence
NumberUsed 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
StringGenre of the item, for example, movie genre.
identifier
StringUsed 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.
information
StringInformation about the item.
itemContentType
StringContent 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
- UTTYPE_APPLE_ICNS
- UTTYPE_APPLE_PROTECTED_MPEG4_AUDIO
- UTTYPE_AUDIO
- UTTYPE_BMP
- UTTYPE_FLAT_RTFD
- UTTYPE_GIF
- UTTYPE_HTML
- UTTYPE_ICO
- UTTYPE_IMAGE
- UTTYPE_JPEG
- UTTYPE_JPEG2000
- UTTYPE_MOVIE
- UTTYPE_MP3
- UTTYPE_MPEG
- UTTYPE_MPEG4
- UTTYPE_MPEG4_AUDIO
- UTTYPE_PDF
- UTTYPE_PICT
- UTTYPE_PLAIN_TEXT
- UTTYPE_PNG
- UTTYPE_QUICKTIME_IMAGE
- UTTYPE_QUICKTIME_MOVIE
- UTTYPE_RTF
- UTTYPE_RTFD
- UTTYPE_TEXT
- UTTYPE_TIFF
- UTTYPE_TXN_TEXT_AND_MULTIMEDIA_DATA
- UTTYPE_UTF16_EXTERNAL_PLAIN_TEXT
- UTTYPE_UTF16_PLAIN_TEXT
- UTTYPE_UTF8_PLAIN_TEXT
- UTTYPE_VIDEO
- UTTYPE_WEB_ARCHIVE
- UTTYPE_XML
keySignature
StringThe 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
StringKind that the item represents.
languages
Array<String>Used to designate the languages of the intellectual content of the resource.
lastUsedDate
StringThe 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
NumberWhether or not the item is local. Set to 1 if true and 0 otherwise.
lyricist
StringThe lyricist/text writer for song/composition contained in the audio file.
mediaTypes
Array<String>Media types present in the content.
metadataModificationDate
StringThe 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
musicalGenre
StringThe 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.
musicalInstrumentName
StringMetadata 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.
originalFormat
StringOriginal format of the movie.
originalSource
StringOriginal source of the movie.
pageCount
NumberNumber of pages in the item.
pageHeight
NumberHeight 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
NumberWidth 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
StringThe complete path to the item.
performers
Array<String>Performers in the movie.
playCount
NumberUser play count of this item.
The postal code for the item according to guidelines established by the provider.
producer
StringProducer of the content.
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
NumberUser rating of this item out of 5 stars.
ratingDescription
StringA description of the rating, for example, the number of reviewers.
recordingDate
StringThe 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
relatedUniqueIdentifier
StringFor 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
StringUsed to indicate the role of the document creator.
securityMethod
StringSecurity (encryption) method used in the file.
streamable
NumberWhether the content is prepared for streaming. Set to 0 for not streamable and 1 for streamable.
subject
StringSubject of the the item.
The sub-location (e.g., street number) for the item according to guidelines established by the provider.
supportsNavigation
NumberUsed 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.
supportsPhoneCall
NumberUsed 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
NumberThe tempo of the music contained in the audio file in Beats Per Minute.
theme
StringTheme of the the item.
The location (e.g., street name) for the item according to guidelines established by the provider.
thumbnailData
String | Titanium.BlobImage data for thumbnail for this item.
thumbnailURL
StringFile URL pointing to a thumbnail image for this item.
timeSignature
StringThe time signature of the musical composition contained in the audio/MIDI file.
title
StringThe title of the particular item.
totalBitRate
NumberThe total bit rate (audio and video combined) of the media.
url
StringURL of the item.
version
StringA version specifier for this item.
videoBitRate
NumberThe video bit rate.
Methods 4
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. |
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. |
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
|