CoreSpotlight Spazio dei nomi
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Consente alle applicazioni di aggiungere dati all'indice di ricerca di sistema.
Classi
CSCustomAttributeKey |
Chiave che gli sviluppatori di app possono associare ai metadati per un elemento indicizzato che può essere visualizzato nei risultati della ricerca utente. |
CSIndexErrorCodeExtensions |
Metodi di estensione per l'enumerazione CoreSpotlight.CSIndexErrorCode. |
CSIndexExtensionRequestHandler |
Gestore per la comunicazione tra l'applicazione e l'indice nel dispositivo. L'app non deve essere in esecuzione per questa comunicazione. |
CSLocalizedString |
Rappresenta un oggetto simile a una stringa che restituisce una versione specifica delle impostazioni locali di una stringa. |
CSMailboxKey |
Rappresenta le chiavi che identificano le cassette postali comunemente usate. |
CSPerson |
Autore o destinatario archiviato in un CSSearchableItemAttributeSetoggetto . |
CSSearchableIndex |
Indice di ricerca usato da Spotlight. |
CSSearchableIndex_CSOptionalBatchingExtension | |
CSSearchableIndexDelegate |
Oggetto delegato che fornisce membri chiamati durante la reindexing dell'indice. |
CSSearchableIndexDelegate_Extensions |
Metodi di estensione all'interfaccia ICSSearchableIndexDelegate per supportare tutti i metodi dal CSSearchableIndexDelegate protocollo. |
CSSearchableItem |
Oggetto individuabile in modo univoco e ricercabile in un CSSearchableIndexoggetto . |
CSSearchableItemAttributeSet |
Contiene il contenuto effettivo da indicizzare per la ricerca. |
CSSearchQuery |
Cerca i dati indicizzati in precedenza con l'API Core Spotlight. |
CSSearchQueryErrorCodeExtensions |
Metodi di estensione per l'enumerazione CoreSpotlight.CSSearchQueryErrorCode. |
Interfacce
ICSSearchableIndexDelegate |
Interfaccia che rappresenta i metodi necessari (se presenti) del protocollo CSSearchableIndexDelegate. |
Enumerazioni
CSFileProtection |
Enumera le opzioni di protezione dei file nelle chiamate a *. |
CSIndexErrorCode |
Enumera eventuali errori associati all'uso di Core Spotlight e alla ricerca. |
CSSearchQueryErrorCode |
Enumera gli errori che possono verificarsi durante l'esecuzione di una query Core Spotlight con Start(). |
Delegati
CSSearchableIndexFetchHandler |
Gestore di completamento usato in FetchLastClientState(CSSearchableIndex, CSSearchableIndexFetchHandler). |
Commenti
Spotlight è la tecnologia di ricerca di sistema in iOS e OS X. CoreSpotlight consente agli sviluppatori di aggiungere dati all'indice di ricerca. Un'app sulla tabella periodica, ad esempio, potrebbe indicizzare i vari elementi e visualizzare la pagina pertinente dopo una ricerca.
L'aggiunta di dati a Spotlight viene eseguita aggiungendo CSSearchableItem oggetti all'oggetto DefaultSearchableIndex:
//Create CSSearchableItems
var dataItems = searchIndexMap.Select (keyValuePair => {
Guid guid = keyValuePair.Key;
String data = keyValuePair.Value;
var attributeSet = new CSSearchableItemAttributeSet (UTType.Text);
attributeSet.Title = data + " Page";
attributeSet.ContentDescription = "My app's data relating to " + data;
attributeSet.TextContent = data;
var dataItem = new CSSearchableItem (guid.ToString (), "com.xamarin.CoreSpotlight0", attributeSet);
return dataItem;
});
//Add items to system index
CSSearchableIndex.DefaultSearchableIndex.Index (dataItems.ToArray<CSSearchableItem> (), err => {
if (err != null) {
Console.WriteLine (err);
} else {
Console.WriteLine ("Indexed items successfully");
}
});
Quando l'applicazione viene avviata tramite una ricerca di contenuto In evidenza, il sistema chiama il ContinueUserActivity metodo con il ActivityType set su ActionType:
public override bool ContinueUserActivity (UIApplication application, NSUserActivity userActivity, UIApplicationRestorationHandler completionHandler)
{
if (userActivity.ActivityType == CSSearchableItem.ActionType) {
var uuid = userActivity.UserInfo.ObjectForKey (CSSearchableItem.ActivityIdentifier);
//... handle Spotlight search for identifier