为任何APP内容而设计的,通过Spotlight来让用户使用

iOS 9 Spotlight搜索 OC版,spotlightoc

介绍
    在WWDC
2014会议上,苹果官方宣布了iOS9。除开广大新的特色和增加功效,本次进级也给了开采者们三个机会让他俩的app里的内容能透过Spotlight
寻找功用被发觉和选取。在iOS9中可用的新APIs允许你去索引应用软件里面包车型大巴开始和结果依然分界面状态,通过Spotlight来让用户采用。
这个新的找寻APIs的三大组件为:

  * NSUserActivity 类, 它是为可被看见的APP内容而安插的


  * Core Spotlight 框架, 为任何APP内容而陈设的 


  * web
markup,为这一类别的APP设计的,正是APP的内容在有个别网址上有镜像


在那几个课程里,小编将会向您来得可以怎么在你的行使中动用NSUserActivity类以及
Core Spotlight 框架。

未焚徙薪干活
    那一个课程供给你运维在Xcode7 和OSX 10.10、iOS9.0体系或更后的种类  

步骤

#import <CoreSpotlight/CoreSpotlight.h>

    2.创立寻找属性对象

 CSSearchableItemAttributeSet * attributeSet = [[CSSearchableItemAttributeSet alloc] initWithItemContentType:@""];

    3.装置搜索属性

//搜索显示的名称
            attributeSet.title = obj.name;
            //显示的描述
            attributeSet.contentDescription = obj.desc;
            //搜索关键字
            attributeSet.keywords = @[obj.name,@"CX"];
            //显示的图标
            UIImage * icon = [UIImage imageNamed:obj.imageName];
            if (icon) {
                    attributeSet.thumbnailData = UIImageJPEGRepresentation(icon, 1);
            }

 
    4.依据查找属性创设寻觅对象(domainIdentifier:独一标记)
       

CSSearchableItem * item = [[CSSearchableItem alloc] initWithUniqueIdentifier:obj.name domainIdentifier:SearchDomain attributeSet:attributeSet];

    5.将追寻对象增多到找寻数组
       

[searchItems addObject:item];

    6.设置索引目录
  

 CSSearchableIndex * searchableIndex = [CSSearchableIndex defaultSearchableIndex];
    [searchableIndex indexSearchableItems:searchItems completionHandler:^(NSError * _Nullable error) {
        if (error != nil) {//添加索引失败
            NSLog(@"%@",[error localizedDescription]);
        }else{//成功
            NSLog(@"indexing successful");
        }
    }];

 
    7.达成AppDelegate方法(用户通过spotlight搜索到应用程式里面包车型地铁剧情 
点击内容进入应用程式  就能够调用那一个艺术)
       

- (BOOL)application:(UIApplication *)application continueUserActivity:(NSUserActivity *)userActivity restorationHandler:(void (^)(NSArray * _Nullable))restorationHandler{
            UINavigationController * vc = (UINavigationController *)self.window.rootViewController;

                [vc.topViewController restoreUserActivityState:userActivity];

                return YES;
        }

 

  
 8.在找寻列表调控器实现情势(activity里面有用户点击spotlight寻找列表中某条数据的持有属性  
依据属性做相应的操作)
      

 - (void)restoreUserActivityState:(NSUserActivity *)activity{}

 

代码地址

9 Spotlight寻找 OC版,spotlightoc 介绍 :
在WWDC
贰零壹陆集会上,苹果官方发布了iOS9。除开广大新的性状和拉长效率,本次升级也给了开采者们一…

iOS 9 Spotlight搜索 OC,iosspotlight

介绍
    在WWDC
二〇一四集会上,苹果官方宣布了iOS9。除开广大新的特征和抓牢作用,这一次晋级也给了开垦者们叁个机会让他们的app里的剧情能经过Spotlight
搜索效果被发觉和动用。在iOS9中可用的新APIs允许你去索引APP里面包车型大巴内容还是分界面状态,通过Spotlight来让用户使用。
这一个新的找寻APIs的三大组件为:

  * NSUserActivity 类, 它是为可被看见的APP内容而规划的


  * Core Spotlight 框架, 为任何APP内容而陈设的 


  * web
markup,为这一类型的应用程式设计的,正是应用程式的故事情节在有个别网址上有镜像


在那个科目里,作者将会向你来得能够什么在您的应用中应用NSUserActivity类以及
Core Spotlight 框架。

计划职业
    那个科目须要您运营在Xcode7 和OSX 10.10、iOS9.0系列或更后的系统  

步骤

#import <CoreSpotlight/CoreSpotlight.h>

    2.创办寻觅属性对象

 CSSearchableItemAttributeSet * attributeSet = [[CSSearchableItemAttributeSet alloc] initWithItemContentType:@""];

    3.设置寻觅属性

//搜索显示的名称
            attributeSet.title = obj.name;
            //显示的描述
            attributeSet.contentDescription = obj.desc;
            //搜索关键字
            attributeSet.keywords = @[obj.name,@"CX"];
            //显示的图标
            UIImage * icon = [UIImage imageNamed:obj.imageName];
            if (icon) {
                    attributeSet.thumbnailData = UIImageJPEGRepresentation(icon, 1);
            }

 
    4.依照查找属性创立搜索对象(domainIdentifier:独一标记)
       

CSSearchableItem * item = [[CSSearchableItem alloc] initWithUniqueIdentifier:obj.name domainIdentifier:SearchDomain attributeSet:attributeSet];

    5.将寻觅对象增加到寻找数组
       

[searchItems addObject:item];

    6.设置索引目录
  

 CSSearchableIndex * searchableIndex = [CSSearchableIndex defaultSearchableIndex];
    [searchableIndex indexSearchableItems:searchItems completionHandler:^(NSError * _Nullable error) {
        if (error != nil) {//添加索引失败
            NSLog(@"%@",[error localizedDescription]);
        }else{//成功
            NSLog(@"indexing successful");
        }
    }];

 
    7.实现AppDelegate方法(用户通过spotlight寻找到应用程式里面包车型地铁剧情 
点击内容走入应用程式  就能调用那一个方法)
       

- (BOOL)application:(UIApplication *)application continueUserActivity:(NSUserActivity *)userActivity restorationHandler:(void (^)(NSArray * _Nullable))restorationHandler{
            UINavigationController * vc = (UINavigationController *)self.window.rootViewController;

                [vc.topViewController restoreUserActivityState:userActivity];

                return YES;
        }

 

  
 8.在搜索列表调节器完毕形式(activity里面有用户点击spotlight寻找列表中某条数据的保有属性  
依照属性做相应的操作)
      

 - (void)restoreUserActivityState:(NSUserActivity *)activity{}

 

代码地址

9 Spotlight寻找 OC,iosspotlight 介绍 :
在WWDC
2014议会上,苹果官方透露了iOS9。除开广大新的本性和拉长功用,这次晋级也给了开垦者们二个…

  * NSUserActivity 类, 它是为可被看见的APP内容而设计的


  * Core Spotlight 框架, 为任何应用软件内容而设计的 


  * web
markup,为这一体系的应用程式设计的,正是应用程式的内容在有个别网址上有镜像


 
    4.根据查找属性创设寻找对象(domainIdentifier:独一标记)
       

NSUserActivity 类, 它是为可被看见的应用软件内容而规划的

CSSearchableItem * item = [[CSSearchableItem alloc] initWithUniqueIdentifier:obj.name domainIdentifier:SearchDomain attributeSet:attributeSet];

    6.设置索引目录
  

在WWDC
2014议会上,苹果官方发表了iOS9。除开广大新的天性和提升功能,这一次进级也给了开荒者们多个空子让他俩的app里的开始和结果能由此Spotlight搜索功效被察觉和采取。在iOS9中可用的新APIs允许你去索引APP里面包车型地铁剧情依然界面状态,通过Spotlight来让用户采纳。
那个新的找出APIs的三大组件为:

 - (void)restoreUserActivityState:(NSUserActivity *)activity{}

  
 8.在查找列表调控器落成方式(activity里面有用户点击spotlight寻找列表中某条数据的保有属性  
依照属性做相应的操作)
      

在此间,作者将会向您体现可以怎么在你的利用中选取NSUserActivity类以及 Core
Spotlight 框架。

 
    4.基于查找属性创立找寻对象(domainIdentifier:唯一标志)
       

 CSSearchableIndex * searchableIndex = [CSSearchableIndex defaultSearchableIndex];
    [searchableIndex indexSearchableItems:searchItems completionHandler:^(NSError * _Nullable error) {
        if (error != nil) {//添加索引失败
            NSLog(@"%@",[error localizedDescription]);
        }else{//成功
            NSLog(@"indexing successful");
        }
    }];

web markup,为这一品类的应用软件设计的,正是应用软件的源委在有个别网址上有镜像

 CSSearchableItemAttributeSet * attributeSet = [[CSSearchableItemAttributeSet alloc] initWithItemContentType:@""];
CSSearchableItem * item = [[CSSearchableItem alloc] initWithUniqueIdentifier:obj.name domainIdentifier:SearchDomain attributeSet:attributeSet];

绑定数据源,使其能被搜寻

发表评论

电子邮件地址不会被公开。 必填项已用*标注

相关文章