最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

iOS9開放的新API--Spotlight使用指南

 更新時間:2015年11月14日 17:01:19   投稿:hebedich  
作為蘋果iOS9的重要特性之一,Spotlight搜索如今重新回到主界面最左側(cè)(同樣支持主界面下滑呼出),通過API的支持,還帶來了全新的Universal Search通用搜索功能,除了網(wǎng)絡(luò)以及系統(tǒng)本身內(nèi)容之外,還能直接搜索第三方應(yīng)用內(nèi)的相關(guān)內(nèi)容。下面我們就來詳細研究下Spotlight

1.Spotloight是什么?

  Spotlight在iOS9上做了一些新的改進, 也就是開放了一些新的API, 通過Core Spotlight Framework你可以在你的app中集成Spotlight。集成Spotlight的App可以在Spotlight中搜索App的內(nèi)容,并且通過內(nèi)容打開相關(guān)頁面。

  Demo演示

  

2.如何集成Spotlight

  a.添加所需要的框架 

復(fù)制代碼 代碼如下:

#if __IPHONE_OS_VERSION_MAX_ALLOWED >= 90000
#import <CoreSpotlight/CoreSpotlight.h>
#import <MobileCoreServices/MobileCoreServices.h>
#endif

  注,很多APP都是支持iOS9以下的,因此加入#if __IPHONE_OS_VERSION_MAX_ALLOWED >= 90000,可以解決iOS9以下設(shè)備運行崩潰的問題

  b.創(chuàng)建CSSearchableItemAttributeSet 對象

復(fù)制代碼 代碼如下:

CSSearchableItemAttributeSet *attributeSet = [[CSSearchableItemAttributeSet alloc] initWithItemContentType:(NSString *)kUTTypeImage];
   
    attributeSet.title = spotlightTitle;                // 標(biāo)題
    attributeSet.keywords = keywords;                   // 關(guān)鍵字,NSArray格式
    attributeSet.contentDescription = spotlightDesc;    // 描述
    attributeSet.thumbnailData = photo;                 // 圖標(biāo), NSData格式

  // 把圖片轉(zhuǎn)換成NSData的方法
  UIImagePNGRepresentation([UIImage imageNamed:@"xxx.png"]

  c.創(chuàng)建可檢索條目CSSearchableItem

復(fù)制代碼 代碼如下:

// spotlightInfo 可以作為一些數(shù)據(jù)傳遞給接受的地方
// domainId      id,通過這個id來判斷是哪個spotlight
CSSearchableItem *item = [[CSSearchableItem alloc] initWithUniqueIdentifier:spotlightInfo domainIdentifier:domainId attributeSet:attributeSet];

  d.添加檢索入口

復(fù)制代碼 代碼如下:

[[CSSearchableIndex defaultSearchableIndex] indexSearchableItems:@[item] completionHandler:^(NSError * error) {
     if (error) {
        NSLog(@"indexSearchableItems Error:%@",error.localizedDescription);
     }
}];

  ========完整代碼========

復(fù)制代碼 代碼如下:

- (void)insertSearchableItem:(NSData *)photo spotlightTitle:(NSString *)spotlightTitle description:(NSString *)spotlightDesc keywords:(NSArray *)keywords spotlightInfo:(NSString *)spotlightInfo domainId:(NSString *)domainId {
   
    CSSearchableItemAttributeSet *attributeSet = [[CSSearchableItemAttributeSet alloc] initWithItemContentType:(NSString *)kUTTypeImage];
   
    attributeSet.title = spotlightTitle;                // 標(biāo)題
    attributeSet.keywords = keywords;                   // 關(guān)鍵字,NSArray格式
    attributeSet.contentDescription = spotlightDesc;    // 描述
    attributeSet.thumbnailData = photo;                 // 圖標(biāo), NSData格式
   
    // spotlightInfo 可以作為一些數(shù)據(jù)傳遞給接受的地方
    // domainId      id,通過這個id來判斷是哪個spotlight
    CSSearchableItem *item = [[CSSearchableItem alloc] initWithUniqueIdentifier:spotlightInfo domainIdentifier:domainId attributeSet:attributeSet];
   
    [[CSSearchableIndex defaultSearchableIndex] indexSearchableItems:@[item] completionHandler:^(NSError * error) {
        if (error) {
            NSLog(@"indexSearchableItems Error:%@",error.localizedDescription);
          
        }
    }];
}

  ========加載本地圖片的使用方法========

復(fù)制代碼 代碼如下:
[self insertSearchableItem:UIImagePNGRepresentation([UIImage imageNamed:@"xxx.png"]) spotlightTitle:@"等風(fēng)來" description:@"等風(fēng)來描述" keywords:@[@"鮑鯨鯨",@"大麗花"] spotlightInfo:@"傳遞過去的值" domainId:@"com.wb.spotlight"];

  ========加載網(wǎng)絡(luò)圖片的使用方法========

復(fù)制代碼 代碼如下:
 
dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{
        NSData * data = [NSData dataWithContentsOfURL:[NSURL URLWithString:@"         [self insertSearchableItem:data spotlightTitle:@"等風(fēng)來" description:@"等風(fēng)來描述" keywords:@[@"鮑鯨鯨",@"大麗花"] spotlightInfo:@"傳遞過去的值" domainId:@"com.wb.spotlight"];
    });

  ========刪除所有spotlight的方法========

復(fù)制代碼 代碼如下:

[[CSSearchableIndex defaultSearchableIndex] deleteAllSearchableItemsWithCompletionHandler:^(NSError * _Nullable error) {
if (error) {
NSLog(@"%@", error.localizedDescription);
}
}];

  ========刪除指定的spotlight的方法========

復(fù)制代碼 代碼如下:

[[CSSearchableIndex defaultSearchableIndex] deleteSearchableItemsWithDomainIdentifiers:@"domainId" completionHandler:^(NSError * _Nullable error) {
if (error) {
NSLog(@"%@", error.localizedDescription);
}
}];

  ========點擊spotlight后的響應(yīng)方法========

復(fù)制代碼 代碼如下:

- (BOOL)application:(UIApplication *)application continueUserActivity:(NSUserActivity *)userActivity restorationHandler:(void (^)(NSArray * _Nullable))restorationHandler {
if ([[userActivity activityType] isEqualToString:CSSearchableItemActionType]) {
NSString *uniqueIdentifier = [userActivity.userInfo objectForKey:CSSearchableItemActivityIdentifier];
// 接受事先定義好的數(shù)值,如果是多個參數(shù)可以使用把json轉(zhuǎn)成string傳遞過來,接受后把string在轉(zhuǎn)換為json
NSLog(@"傳遞過來的值%@", uniqueIdentifier);
}
return YES;
}

  備注:

復(fù)制代碼 代碼如下:

#if __IPHONE_OS_VERSION_MAX_ALLOWED >= 90000
  // 相關(guān)spotlight的方法等
#endif

// Spotlight支持iOS9以上設(shè)備運行,對與低版本的設(shè)備需加入這個防止崩潰問題

相關(guān)文章

  • IOS開發(fā)中禁止NavigationController的向右滑動返回

    IOS開發(fā)中禁止NavigationController的向右滑動返回

    這篇文章主要介紹了IOS開發(fā)中禁止NavigationController的向右滑動返回的相關(guān)資料,需要的朋友可以參考下
    2017-03-03
  • iOS開發(fā)教程之自定制圖片瀏覽器

    iOS開發(fā)教程之自定制圖片瀏覽器

    最近發(fā)現(xiàn)許多常用的APP都有圖片瀏覽器,于是想仿照著自己寫一個,下面這篇文章主要給大家介紹了關(guān)于iOS開發(fā)教程之自定制圖片瀏覽器的相關(guān)資料,文中通過示例代碼介紹的非常詳細,需要的朋友可以參考下。
    2017-12-12
  • iOS創(chuàng)建與使用靜態(tài)庫

    iOS創(chuàng)建與使用靜態(tài)庫

    這篇文章主要為大家詳細介紹了iOS創(chuàng)建與使用靜態(tài)庫的相關(guān)資料,感興趣的小伙伴們可以參考一下
    2016-03-03
  • iOS實現(xiàn)攝像頭實時采集圖像

    iOS實現(xiàn)攝像頭實時采集圖像

    這篇文章主要為大家詳細介紹了iOS實現(xiàn)攝像頭實時采集圖像,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-04-04
  • iOS開發(fā)存儲應(yīng)用程序Info.plist知識全面詳解

    iOS開發(fā)存儲應(yīng)用程序Info.plist知識全面詳解

    這篇文章主要為大家介紹了iOS開發(fā)存儲應(yīng)用程序Info.plist知識全面詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-06-06
  • 詳解iOS平臺調(diào)用后臺接口的正確姿勢

    詳解iOS平臺調(diào)用后臺接口的正確姿勢

    這篇文章主要介紹了詳解iOS平臺調(diào)用后臺接口的正確姿勢,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-10-10
  • IOS提醒用戶重新授權(quán)打開定位功能

    IOS提醒用戶重新授權(quán)打開定位功能

    這篇文章主要介紹了IOS提醒用戶重新授權(quán)打開定位功能的相關(guān)資料,需要的朋友可以參考下
    2015-12-12
  • iOS實現(xiàn)手勢密碼功能

    iOS實現(xiàn)手勢密碼功能

    這篇文章主要為大家詳細介紹了iOS實現(xiàn)手勢密碼功能,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-03-03
  • 詳解 iOS 系統(tǒng)中的視圖動畫

    詳解 iOS 系統(tǒng)中的視圖動畫

    這篇文章主要介紹了iOS 系統(tǒng)中的視圖動畫的的相關(guān)資料,幫助大家更好的理解和學(xué)習(xí)使用ios開發(fā),感興趣的朋友可以了解下
    2021-02-02
  • swift3.0網(wǎng)絡(luò)圖片緩存原理簡析

    swift3.0網(wǎng)絡(luò)圖片緩存原理簡析

    這篇文章主要為大家簡析了swift3.0網(wǎng)絡(luò)圖片緩存原理,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-09-09

最新評論

蒲江县| 丰城市| 丰原市| 响水县| 花莲县| 哈密市| 全南县| 南皮县| 花垣县| 吉林市| 寿阳县| 石首市| 皮山县| 黄浦区| 汉寿县| 化德县| 营山县| 区。| 南溪县| 伊金霍洛旗| 西峡县| 武鸣县| 平果县| 雷山县| 迁安市| 大安市| 遂昌县| 襄樊市| 辽中县| 长海县| 文水县| 交口县| 沁水县| 扬中市| 瓦房店市| 保靖县| 桃源县| 天门市| 万源市| 宁化县| 邢台县|