2013-07-30 2 views
7

Beispiel: App enthält Nachrichten. Der Benutzer sucht Spotlight mit der Zeichenfolge aus der Nachricht. Spotlight findet diese App.Können Apps einen Spot für Spotlight zum Suchen von Inhalten in der App bereitstellen?

Ich habe gehört, dass Spotlight App-Inhalte suchen kann. Aber wie füttere ich es auf iOS Spotlight?

+0

Ich denke, Sie falsch gehörten, kann ich nicht eine einzige Sache, in der Dokumentation über in Integration mit Spotlight auf iOS finden. – rckoenes

+0

http://developer.apple.com/library/mac/documentation/Cocoa/Conceptual/SpotlightCoreData/SpotlightCoreData.pdf – utahwithak

+0

@openfrog, ich habe es nicht in iphone und ipad gesehen, aber es kann mit mac gemacht werden, hier ist der link zum spotlighter beispielcode für mac, wenn das helfen könnte. https://developer.apple.com/library/mac/#samplecode/Spotlighter/Introduction/Intro.html#//apple_ref/doc/uid/DTS40008818 –

Antwort

8

Nach der Core Data Spotlight Integration Programming Guide, die Funktionalität, die Sie wollen, ist für iOS nicht verfügbar, nur für Mac OS X.

+1

Dies hat sich mit den Updates auf iOS9 geändert. Es gibt jetzt Such-APIs, um App-Inhalte zu Spotlight hinzuzufügen. Bitte sehen Sie meine Antwort unten. – reshat2

4

Das jetzt von iOS9 Uhr möglich ist.

Apple hat ein CoreSpotlight SDK (WWDC2015) veröffentlicht, mit dem Sie Ihre App in den Spotlight von iOS integrieren und eine Inhaltssuche durchführen können.

Es gibt andere Möglichkeiten, verschiedene Benutzeraktivitäten in Ihre App zu integrieren. Sie können auch nach Dingen suchen, selbst wenn Ihre App nicht auf dem Gerät installiert ist.

Wenn Ihre App eine Anwendung ist, die beispielsweise pdf verarbeitet, wenn Benutzer auf seinem Gerät nach einer PDF sucht, können Sie in den Spotlight-Einstellungen als App zum Lesen der PDF-Datei auftauchen, auch wenn Ihre App ist nicht auf dem Gerät des Benutzers installiert.

In Anbetracht Ihres Beispiels ist es nun möglich, dass Spotlight Ihre App öffnen kann, wenn Sie nach einer Nachrichtenzeichenfolge in Spotlight suchen, und Sie können den Benutzer sogar dazu bewegen, die exakte Nachricht in Ihrer App zu finden.

Link unten hinzufügen: Sie finden Details zur Implementierung.

https://developer.apple.com/library/prerelease/ios/releasenotes/General/WhatsNewIniOS/Articles/iOS9.html#//apple_ref/doc/uid/TP40016198-SW3

-Tejas

+0

für alle möglichen Suchbegriffe, die mit unserer App in Zusammenhang stehen, müssen in CSSearchableIndex als SearchableItem hinzugefügt werden? – christijk

+0

Kurze Antwort: Ja. Lange Antwort: Die Suche gibt Ihnen eine bessere Kontrolle darüber, was Sie in den Inhalten Ihrer App suchen müssen. Sie müssten also jedes Objekt indizieren, das Sie von Spotlight aus durchsuchen müssten, indem Sie ein CSCareArticleItem hinzufügen. –

+0

Ein Link in meiner Antwort hinzugefügt. Sie können weitere Details zu den Bedingungen erhalten. –

1

Hier ist ein Beispiel für Ihre App-Inhalte zu Spotlight über die neue Suche API hinzufügen. Dies ist ein Angebot auf iOS9 XCode mit 7.er

CSSearchableItemAttributeSet * attributes = [[CSSearchableItemAttributeSet alloc] initWithItemContentType:(NSString *)kUTTypeImage]; //Or whatever type 
attributes.contentDescription = @"This is my content description."; 
attributes.displayName = @"Display Name"; 
attributes.keywords = @["Stuff","Widget"]; 
attributes.subject = @"Subject"; 
attributes.title = @"Title"; 

CSSearchableItem *item = [[CSSearchableItem alloc] initWithUniqueIdentifier:someUniqueId domainIdentifier:@"SomeGroupName" attributeSet:attributes]; 

[[CSSearchableIndex defaultSearchableIndex] indexSearchableItems:@[item] completionHandler:nil]; 

Wenn der Benutzer das Element im Scheinwerfer auswählt, die folgende Methode:

-(BOOL)application:(UIApplication *)application continueUserActivity:(NSUserActivity *)userActivity restorationHandler:(void (^)(NSArray *))restorationHandler 

in Ihrem AppDelegate aufgerufen wird. Überprüfen Sie das userInfo-Wörterbuch im userActivity-Objekt und senden Sie den Benutzer an den entsprechenden Bildschirm.

+0

So, wie die Suche hier funktioniert .. sollte Benutzer den Titel oder für die Schlüsselwörter suchen? – christijk

+2

Jeder von denen würde funktionieren. Der Titel, Keywords, Thema alles wird zu einem Schlüsselwort. –

Verwandte Themen