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