Freigeben über


CoreSpotlight Namespace

Ermöglicht Anwendungen das Hinzufügen von Daten zum Systemsuchindex.

Klassen

CSCustomAttributeKey

Ein Schlüssel, den App-Entwickler Metadaten für ein indizierbares Element zuordnen können, das in den Suchergebnissen von Benutzern angezeigt werden kann.

CSIndexErrorCodeExtensions

Erweiterungsmethoden für die CoreSpotlight.CSIndexErrorCode-Enumeration.

CSIndexExtensionRequestHandler

Handler für die Kommunikation zwischen der Anwendung und dem Index auf dem Gerät. Die App muss nicht ausgeführt werden, damit diese Kommunikation erfolgt.

CSLocalizedString

Stellt ein zeichenfolgenähnliches Objekt dar, das eine gebietsschemaspezifische Version einer Zeichenfolge zurückgibt.

CSMailboxKey

Stellt Schlüssel dar, die häufig verwendete Postfächer identifizieren.

CSPerson

Ein Autor oder ein Empfänger, der in einem CSSearchableItemAttributeSetgespeichert ist.

CSSearchableIndex

Ein von Spotlight verwendeter Suchindex.

CSSearchableIndex_CSOptionalBatchingExtension

Erweiterungsmethoden für T:CoreServices.CSSearchableIndex.

CSSearchableIndexDelegate

Delegatobjekt, das Elemente bereitstellt, die beim Erneutindizieren des Indexes aufgerufen werden.

CSSearchableIndexDelegate_Extensions

Erweiterungsmethoden für die ICSSearchableIndexDelegate Schnittstelle, um alle Methoden aus dem CSSearchableIndexDelegate Protokoll zu unterstützen.

CSSearchableItem

Ein eindeutig identifizierbares, durchsuchbares Objekt in einem CSSearchableIndex.

CSSearchableItemAttributeSet

Enthält den tatsächlichen Inhalt, der für die Suche indiziert werden soll.

CSSearchQuery

Durchsucht Daten, die der Entwickler zuvor mit der Core Spotlight-API indiziert hat.

CSSearchQueryErrorCodeExtensions

Erweiterungsmethoden für die CoreSpotlight.CSSearchQueryErrorCode-Enumeration.

Schnittstellen

ICSSearchableIndexDelegate

Schnittstelle, die die erforderlichen Methoden (falls vorhanden) des Protokolls CSSearchableIndexDelegatedarstellt.

Enumerationen

CSFileProtection

Listet Dateischutzoptionen in Aufrufen M:CoreSpotlight.CSSearchableIndex.FromName* auf.

CSIndexErrorCode

Listet mögliche Fehler auf, die mit der Verwendung von Core Spotlight und der Suche zusammenhängen.

CSSearchQueryErrorCode

Listet Fehler auf, die beim Ausführen einer Core Spotlight-Abfrage mit Start()auftreten können.

Delegaten

CSSearchableIndexFetchHandler

Vervollständigungshandler, der in FetchLastClientState(CSSearchableIndex, CSSearchableIndexFetchHandler)verwendet wird.

Hinweise

Im Mittelpunkt steht die Systemsuchtechnologie unter iOS und OS X. Mit CoreSpotlight können Entwickler dem Suchindex Daten hinzufügen. Eine App über das Periodensystem könnte beispielsweise die verschiedenen Elemente indizieren und nach einer Suche die entsprechende Seite aufrufen.

Das Hinzufügen von Daten zu Spotlight erfolgt durch Hinzufügen CSSearchableItem von Objekten zu :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");
    }
});

Wenn die Anwendung über eine Spotlight-Suche nach Inhalten gestartet wird, ruft das System die ContinueUserActivity -Methode auf, wobei auf ActivityTypeActionTypefestgelegt ist:

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