首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >应用程序能为Spotlight提供一个钩子来搜索应用程序中的内容吗?

应用程序能为Spotlight提供一个钩子来搜索应用程序中的内容吗?
EN

Stack Overflow用户
提问于 2013-07-30 13:09:00
回答 4查看 3.4K关注 0票数 8

例句: App包含消息。用户使用消息中的字符串搜索聚光灯。聚光灯发现了那个应用程序。

我听说聚光灯可以搜索应用程序的内容。但是如何在iOS上把它传送给聚光灯呢?

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2013-07-30 14:11:21

根据核心数据聚光灯集成编程指南,您想要的功能不能用于iOS,只能用于Mac。

票数 7
EN

Stack Overflow用户

发布于 2015-06-11 09:36:40

现在,从iOS9开始,这是可能的。

苹果已经发布了一个CoreSpotlight SDK (WWDC2015),在这里,你可以将你的应用集成到iOS的聚光灯下,并且可以进行内容搜索。

还有其他可能的途径,可以将不同的用户活动实际集成到应用程序中,也可以搜索东西,即使应用程序没有安装在设备上。

例如,如果你的应用是一个处理pdf的应用程序,如果用户在他的设备上搜索一个pdf,你的应用程序可以成为聚光灯下的首选项,他可以用来读取pdf,即使你的应用程序没有安装在用户的设备上。

考虑到你的例子,如果你在聚光灯下搜索消息字符串,聚光灯可以打开你的应用程序,你可以让用户在你的应用程序中找到确切的消息。

添加下面的链接:您可以找到实现的详细信息。

编号/doc/uid/doc 40016198-SW3

-Tejas

票数 5
EN

Stack Overflow用户

发布于 2015-06-17 20:17:43

下面是一个通过新的Search将应用程序内容添加到Spotlight的示例,这可以在iOS9上使用XCode 7获得。

代码语言:javascript
复制
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];

当用户选择聚光灯下的项目时,使用以下方法:

代码语言:javascript
复制
-(BOOL)application:(UIApplication *)application continueUserActivity:(NSUserActivity *)userActivity restorationHandler:(void (^)(NSArray *))restorationHandler

在您的AppDelegate中将被调用。检查userInfo对象中的userActivity字典,并将用户发送到相应的屏幕。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17947935

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档