iOS9 Search API 之 Spotlight

iOS9之后 有三种api提供搜搜方式 增强引导用户关注 咱们的app及相关内容的方式html

NSUserActivityios

Web Markup api

Core Spotlight 用法缓存

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

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

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

操做方式:spa

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

2. 要建立检索数据model, 这个彻底看需求了 通常model: title,content,iconImagePath,type3d

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

相关文章
相关标签/搜索