示例:应用包含消息。用户使用消息中的字符串搜索聚光灯。 Spotlight找到该应用。
我听说聚光灯可以搜索应用内容。但是如何将它提供给iOS上的Spotlight?
答案 0 :(得分:8)
根据Core Data Spotlight Integration Programming Guide,您所需的功能不适用于iOS,仅适用于Mac OS X.
答案 1 :(得分:4)
现在可以从iOS9开始实现。
Apple已发布CoreSpotlight SDK(WWDC2015),您可以将应用程序集成到iOS的聚光灯下,并进行内容搜索。
还有其他可能的渠道可以将不同的用户活动实际集成到您的应用中,即使您的应用未安装在设备上,也可以搜索内容。
如果你的应用程序是一个处理pdf的应用程序,如果用户在他的设备上搜索pdf,你的应用程序可以作为他可以用来阅读pdf的应用程序出现在聚光灯首选项中,即使你的应用程序是没有安装在用户的设备上。
考虑到您的示例,现在可能的是,如果您在聚光灯下搜索消息字符串,聚光灯可以打开您的应用,您可以让用户实际导航以在您的应用内找到确切的消息。
添加以下链接: 您可以找到实施细节。
-Tejas
答案 2 :(得分:1)
以下是通过新的Search API将您的应用内容添加到Spotlight的示例。这可以在iOS9上使用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];
当用户选择聚光灯下的项目时,请使用以下方法:
-(BOOL)application:(UIApplication *)application continueUserActivity:(NSUserActivity *)userActivity restorationHandler:(void (^)(NSArray *))restorationHandler
将调用AppDelegate中的。检查userActivity对象中的userInfo字典,并将用户发送到适当的屏幕。
答案 3 :(得分:1)
我创建了一个集成corespotlgiht功能的示例项目。它适用于iOS 9,需要Xcode 7 beta 2才能构建。你可以试试它是否有帮助。 https://github.com/majain/iPhoneCoreDataRecipes
相同的视频链接是:https://youtu.be/Renm1xLDIFc