iOS9 Search API 之 Spotlight
Posted ACM_Someone like you
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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
以上是关于iOS9 Search API 之 Spotlight的主要内容,如果未能解决你的问题,请参考以下文章
Elasticsearch Search API之(Request Body Search 查询主体