iOS9 Search API 之 Spotlight

iOS9以后 有三种api提供搜搜方式 加强引导用户关注 我们的app及相关内容的方式

NSUserActivity

Web Markup 

Core Spotlight 用法

前两种 实战操作性不够强(后续补充) 这里先讲 spotlight 实现机制和方法 分析

iOS 8的时候 spotlight 就可以搜索应用名称,iOS9以后,加强了深度搜索功能,就是 你预设置在手机里的”埋点”,都可以在搜索里面,展示给用户,当用户点击暴露的搜索结果时候 会根据需求进行唤醒应用/跳转指定页面等操作.

也就是说,当且仅当你至少打开一次应用触发了埋点操作,此功能才正式生效.

操作方式:

1. 使用框架CoreSpotlight.framework  引入头文件  #import <CoreSpotlight/CoreSpotlight.h>

2. 要创建检索数据model, 这个完全看需求了 一般model: title,content,iconImagePath,type

3. 在加载应用后 要缓存 spotlight 数据源, 前提也很简单 系统规格不小于iOS9 不然会挂掉,比如空指针的原因等.

也就是说,只有iOS9以上的用用 才会享用到 该特性,同 上一篇文章讲 universal links一样

然后在appdelegate  回调方法里 做相应操作 比如触发跳转到指定页面的操作.

上代码:

1.

正如我做的标记,这里 NSActivity 的属性userInfo 里面 唯一可操作的键值对

 [@"kCSSearchableItemActivityIdentifier" :value]

所以 如果有什么具体参数 要在触发的操作中使用 ,全部嵌入这个value吧. 

建议多测测 别被低版本系统坑了,  我手里没iOS 9以下真机,写这篇文章时候没测到,如果你觉得有问题可以给我写评论. 我也会在真正运用到该方法时候,修正博客内容.

上图:(我插入了 一个 plist文件, 比如 我可以搜索 胃疼, 胃疼内容为例)

然后点击 就跳转到该应用了 无论是 挂起 还是启动app  如果指定了页面 ,就会跳转到指定页面

https://developer.apple.com/library/ios/releasenotes/General/WhatsNewIniOS/Articles/iOS9.html

http://www.cnblogs.com/CocoonJin/p/4703366.html?utm_source=tuicool&utm_medium=referral

http://www.cocoachina.com/ios/20150819/13116.html

http://www.ithao123.cn/content-10752357.html

mdsa.51cto.com/art/201507/484497.htm

http://www.csdn.net/article/2015-07-16/2825222-search-apis

原文地址:https://www.cnblogs.com/someonelikeyou/p/5568102.html