CoreSpotlight Namespace
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
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