Partager via


CoreSpotlight Espace de noms

Permet aux applications d’ajouter des données à l’index de recherche système.

Classes

CSCustomAttributeKey

Clé que les développeurs d’applications peuvent associer aux métadonnées d’un élément indexable qui peut apparaître dans les résultats de recherche utilisateur.

CSIndexErrorCodeExtensions

Méthodes d’extension pour l’énumération CoreSpotlight.CSIndexErrorCode.

CSIndexExtensionRequestHandler

Gestionnaire pour la communication entre l’application et l’index sur l’appareil. L’application n’a pas besoin d’être en cours d’exécution pour que cette communication se produise.

CSLocalizedString

Représente un objet de type chaîne qui retourne une version spécifique aux paramètres régionaux d’une chaîne.

CSMailboxKey

Représente les clés qui identifient les boîtes aux lettres couramment utilisées.

CSPerson

Un auteur ou un destinataire stocké dans un CSSearchableItemAttributeSet.

CSSearchableIndex

Index de recherche utilisé par Spotlight.

CSSearchableIndex_CSOptionalBatchingExtension

Méthodes d’extension pour T:CoreServices.CSSearchableIndex.

CSSearchableIndexDelegate

Objet délégué fournissant des membres appelés lors de la réindexation de l’index.

CSSearchableIndexDelegate_Extensions

Méthodes d’extension à l’interface ICSSearchableIndexDelegate pour prendre en charge toutes les méthodes du CSSearchableIndexDelegate protocole.

CSSearchableItem

Objet unique identifiable et pouvant faire l’objet d’une recherche dans un CSSearchableIndex.

CSSearchableItemAttributeSet

Contient le contenu réel à indexer pour la recherche.

CSSearchQuery

Recherche les données que le développeur a précédemment indexées avec l’API Core Spotlight.

CSSearchQueryErrorCodeExtensions

Méthodes d’extension pour l’énumération CoreSpotlight.CSSearchQueryErrorCode.

Interfaces

ICSSearchableIndexDelegate

Interface représentant les méthodes requises (le cas échéant) du protocole CSSearchableIndexDelegate.

Énumérations

CSFileProtection

Énumère les options de protection des fichiers dans les appels à M:CoreSpotlight.CSSearchableIndex.FromName*.

CSIndexErrorCode

Énumère les erreurs possibles associées à l’utilisation de Core Spotlight et à la recherche.

CSSearchQueryErrorCode

Énumère les erreurs qui peuvent se produire lors de l’exécution d’une requête Core Spotlight avec Start().

Délégués

CSSearchableIndexFetchHandler

Gestionnaire d’achèvement utilisé dans FetchLastClientState(CSSearchableIndex, CSSearchableIndexFetchHandler).

Remarques

Spotlight est la technologie de recherche système sur iOS et OS X. CoreSpotlight permet aux développeurs d’ajouter des données à l’index de recherche. Une application sur la table périodique, par exemple, peut indexer les différents éléments et afficher la page appropriée après une recherche.

L’ajout de données à Spotlight s’effectue en ajoutant CSSearchableItem des objets au 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");
    }
});

Lorsque l’application est lancée via une recherche de contenu Spotlight, le système appelle la ContinueUserActivity méthode avec la ActivityType valeur définie sur 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