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的更多相关文章
- Search API 官方文档 可以用了查看自己的app
Search API October 24, 2012 - HTTPS is now supported for Search and Lookup requests. Please update y ...
- ElasticSearch Search API 简介
REST request URI curl 'localhost:9200/bank/_search?q=*&pretty' 1. localhost:9200/bank/_search,以 ...
- Elasticsearch学习笔记(二)Search API 与 Query DSL
一. Search API eg: GET /mall/product/_search?q=name:productName&sort=price desc 特点:search的请求参数都是以 ...
- 通过Google Custom Search API 进行站内搜索
今天突然想把博客的搜索改为google的站内搜索,印象中google adsense中好像提高这个站内搜索的代码,但苦逼的是google adsense帐号一直审核不通过,所以只能通过google c ...
- 申请Bing Search API
地址:https://datamarket.azure.com/home 没有帐号先注册一个,然后登录. 1:在数据中订阅Bing Search API,如果找不到就使用这个地址: https://d ...
- Elasticsearch 6.x版本全文检索学习之Search API
Elasticsearch 6.x版本全文检索学习之Search API. 1).Search API,实现对es中存储的数据进行查询分析,endpoind为_search,如下所示. 方式一.GET ...
- Elasticsearch7.X 入门学习第四课笔记---- Search API之(Request Body Search 和DSL简介)
原文:Elasticsearch7.X 入门学习第四课笔记---- Search API之(Request Body Search 和DSL简介) 版权声明:本文为博主原创文章,遵循CC 4.0 BY ...
- Elasticsearch7.X 入门学习第三课笔记----search api学习(URI Search)
原文:Elasticsearch7.X 入门学习第三课笔记----search api学习(URI Search) 版权声明:本文为博主原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出 ...
- ES Search API
Search API 搜索请求 SearchRequest用于与搜索文档.聚合.suggestions相关的任何操作,还提供了在结果文档上请求高亮的方法. 在最基本的表单中,我们可以向请求添加查询: ...
随机推荐
- python简单处理xml文件
Python若是想从xml里读点信息,用BeautifulSoup可能会容易一点,但是如果要修改xml,BeatifulSoup就搞不定了,其实直接用lxml就好. from lxml import ...
- Java 学习笔记之读取jdbc.propertyes配置参数
package test; import java.io.IOException; import java.io.InputStream; import java.util.Properties; p ...
- 获取当前AppDelegate 正在显示的UIViewController
UIWindow+PazLabs.h (header file) #import <UIKit/UIKit.h> @interface UIWindow (PazLabs) - (UIVi ...
- Android开发:《Gradle Recipes for Android》阅读笔记(翻译)2.7——使用Android Studio签署发布apk
问题: 想要使用Android studio生成签名配置,给他们分配build类型. 解决方案: Build菜单提供了生成签名配置,Project Structure窗口有tab用于分配不同的type ...
- PHP输出语句大杂烩
一 echo echo() 实际上不是一个函数,是php语句,因此您无需对其使用括号.不过,如果您希望向 echo() 传递一个以上的参数,那么使用括号会发生解析错误.而且echo是返回void的,并 ...
- [Spring Data Repositories]学习笔记--定义自己的repository
有时,我们会需要用到自己定义的一些查询方法,可以按照下面几步进行. 1. 定义一个包含该方法的接口 Interface UserRepositoryCustom { public void someC ...
- 摄像机互联网直播之EasyCloud云平台与EasyNVS云端管控的全局对比
背景分析 近期,Easy系列推出了EasyNVS,在功能上也是可以满足将内网的视频直播转发到公网,再由公网进行视频流的分发. 听起来和EasyCloud功能上是冲突的,其实两者之间的差别还是存在的,本 ...
- java 对list 排序
Comparable用Collections.sort方法对list排序有两种方法第一种是list中的对象实现Comparable接口,如下: /*** 根据order对User排序*/public ...
- eclipse java文件提示 The import XXX cannot be resolved
问题:eclipse导入类 提示The import XXX cannot be resolved 原因:原来使用JDK和现在使用的JDK不同造成的buildpath不对 解決方法: 1.右键项目 ...
- 封装AJax实现JSON前台与后台交互
实践技术点:1.AJax自定义封装 2.后台序列化与反序列化JSON 3.客户端解析JSON字符串,处理DOM 实现代码如下: 1.JS脚本代码: 1 /*** NOTE:AJAX处理JS TIM ...