国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 系統 > iOS > 正文

iOS 9 Core Spotlight搜索實例代碼

2020-07-26 03:18:11
字體:
來源:轉載
供稿:網友

前言

  感覺 Spotlight 這個功能還是蠻有用的,能提升用戶活躍,增加應用內容曝光幾率。

正文

  一、實現(iOS 9.0)

    1.1  添加索引

 var searchableItems = [CSSearchableItem]()              for app in apps {                let searchableItemAttributeSet = CSSearchableItemAttributeSet(itemContentType: kUTTypeText as String)                searchableItemAttributeSet.title = app.label                searchableItemAttributeSet.contentDescription = "Watch /(app.label) LIVE on Shou"                let searchableItem = CSSearchableItem(uniqueIdentifier: app.id, domainIdentifier: "youappbundlerid.apps", attributeSet: searchableItemAttributeSet)                                searchableItems.append(searchableItem)              }              CSSearchableIndex.defaultSearchableIndex().indexSearchableItems(searchableItems, completionHandler: { (error: NSError?) in                if error == nil {                  print("initSpotlight...completed")                } else {                  print("/(error)")                }              })

一定要注意把上面代碼加到子線程里面執行,略慢??梢栽?AppDelegate 里面從服務器請求完數據再加索引的。

    1.2  接收點擊事件

 @available(iOS 8.0, *)  func application(application: UIApplication, continueUserActivity userActivity: NSUserActivity, restorationHandler: ([AnyObject]?) -> Void) -> Bool {    if #available(iOS 9.0, *) {      if userActivity.activityType == CSSearchableItemActionType {        if let uniqueIdentifier = userActivity.userInfo?[CSSearchableItemActivityIdentifier] as? String, let label = userActivity.title {          // 頁面跳轉        }      }    }    return true  }

二、額外經驗

    2.1  CSSearchableItemAttributeSet

    可以不設置 thumbnailData ,這樣默認就是當前應用的 LOGO;另外注意 thumbnailURL 并不是用來指定網絡圖片地址的 - - #,所以你要加縮略圖的話需要先把網上的下載到本地再設置

    2.2  CSSearchableItem

    默認失效是一個月,另外發現無法攜帶更多數據(比如通過 CSSearchableItemAttributeSet 的 setValue ,在 userActivity 那邊都接收不到)

    2.3  沒有找到索引條數的限制

    http://stackoverflow.com/questions/35284223/is-there-a-limit-for-number-of-items-cssearchableitem-in-core-spotlight-cssear

    我發現添加索引還是挺慢的,另外那個批量索引沒弄懂,感覺應該是又有刪除又有新增的話適合批量處理。

    2.4  沒用找到重新索引的方法

    重復調用也沒用問題,只要 uniqueIdentifier 匹配會覆蓋老的數據

    2.5  沒有找到提升排名的方法

    好像系統會有一套算法來自動提升排名。

總結:以上就是 IOS 開發 Core Spotlight 實例應用,以及經驗分享,希望能幫助開發IOS的同學。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 秦皇岛市| 莱阳市| 德江县| 襄垣县| 盘锦市| 邓州市| 门头沟区| 敦煌市| 景宁| 丰县| 青阳县| 独山县| 巩留县| 常山县| 宣化县| 永定县| 湘潭市| 上蔡县| 钟祥市| 呼伦贝尔市| 葫芦岛市| 武平县| 延川县| 额尔古纳市| 无棣县| 柳林县| 洛南县| 淳安县| 麟游县| 沙河市| 偃师市| 登封市| 交口县| 抚远县| 景德镇市| 桐城市| 迭部县| 临清市| 泸州市| 杂多县| 棋牌|