2013-07-30 10 views
7

Przykład: aplikacja zawiera wiadomości. Wyszukiwanie użytkownika skupia uwagę na ciągu znaków z wiadomości. Spotlight znajduje tę aplikację.Czy aplikacje mogą stanowić hak do Spotlight do wyszukiwania treści w aplikacji?

Słyszałem, że reflektor może wyszukiwać zawartość aplikacji. Ale jak przekazać go do Spotlight na iOS?

+0

Chyba słyszałeś źle, nie mogę znaleźć ani jednej rzeczy w dokumentacji na temat integracji z uwagi na iOS. – rckoenes

+0

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

+0

@openfrog, nie widziałem tego w iPhone'ie i iPadzie, ale można to zrobić za pomocą mac, tutaj jest link do przykładowego kodu spotlighter dla mac, jeśli mogłoby to pomóc. https://developer.apple.com/library/mac/#samplecode/Spotlighter/Introduction/Intro.html#//apple_ref/doc/uid/DTS40008818 –

Odpowiedz

8

Według Core Data Spotlight Integration Programming Guide funkcjonalność chcesz nie jest dostępna dla iOS, tylko dla Mac OS X.

+1

Zmieniło się to wraz z aktualizacjami do iOS9. Istnieją teraz interfejsy API wyszukiwania, które dodają zawartość aplikacji do Spotlight. Zobacz moją odpowiedź poniżej. – reshat2

4

Jest to teraz możliwe z iOS9 r.

Firma Apple wydała pakiet CoreSpotlight SDK (WWDC2015), w którym można zintegrować aplikację z centrum uwagi iOS i wykonać wyszukiwanie treści.

Są inne możliwości zintegrowania różnych czynności użytkownika z Twoją aplikacją, a także możesz wyszukiwać rzeczy nawet wtedy, gdy aplikacja nie jest zainstalowana na urządzeniu.

Jeśli Twoja aplikacja jest aplikacją, która obsługuje na przykład plik PDF, jeśli użytkownik wyszukuje plik PDF na swoim urządzeniu, aplikacja może znaleźć się w preferencjach wyróżnionych jako aplikacja, której może użyć do odczytania pliku PDF, nawet jeśli aplikacja nie jest zainstalowany na urządzeniu użytkownika.

Biorąc pod uwagę Twój przykład, teraz możliwe, że jeśli wyszukasz ciąg znaków w centrum uwagi, reflektor może otworzyć twoją aplikację, a Ty możesz sprawić, aby użytkownik rzeczywiście nawigował, aby znaleźć dokładnie tę wiadomość w aplikacji.

Dodawanie linku poniżej: Możesz znaleźć szczegóły dotyczące wdrożenia.

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

-Tejas

+0

co oznacza, że ​​dla wszystkich możliwych haseł związanych z naszą aplikacją należy dodać w CSSearchableIndex jako SearchableItem? – christijk

+0

Krótka odpowiedź: Tak. Long Answer: Wyszukiwanie faktycznie zapewnia dokładniejszą kontrolę nad tym, czego szukasz w treści aplikacji. Musisz więc zindeksować każdy obiekt, który musisz przeszukać od reflektora, dodając CSSearchableItem. –

+0

Dodano link w mojej odpowiedzi. Możesz uzyskać więcej informacji na temat warunków. –

1

Oto przykład dodawania treści aplikacji Spotlight poprzez nowy Search API. Jest ona dostępna na iOS9 użyciu XCode 7.

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]; 

Gdy użytkownik wybierze element w centrum uwagi, w następujący sposób:

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

w AppDelegate zostanie wywołana. Sprawdź słownik userInfo w obiekcie userActivity i wyślij użytkownika na odpowiedni ekran.

+0

Więc jak działa tutaj wyszukiwanie. Czy użytkownik powinien wyszukać tytuł lub słowa kluczowe? – christijk

+2

Każdy z nich zadziałałby. Tytuł, słowa kluczowe, pod warunkiem, że wszystko staje się słowem kluczowym. –

Powiązane problemy