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

相關文章
相關標籤/搜索