iOS 9 spotlight搜索 3DTouch

原创 2015年11月20日 15:32:04

1 spotlight搜索

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {

    

    [self saveData];

}

- (void)saveData{

    

        NSMutableArray *seachableItems = [NSMutableArray new];

    

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

        attributeSet.title = @"奇奇爱运动";

       // attributeSet.contentDescription = [NSString stringWithFormat:NSLocalizedString(@"a easy way to open %@", nil),@"objc"];

        UIImage *thumbImage = [UIImage imageNamed:@"Icon_default"];

        attributeSet.thumbnailData = UIImagePNGRepresentation(thumbImage);//beta 1 there is a bug

        CSSearchableItem *item = [[CSSearchableItem alloc] initWithUniqueIdentifier: @"奇奇爱运动"                                                                                                                                    domainIdentifier:@"com.kdanmobile.CoreSpotlightDemo"                                                                                                        attributeSet:attributeSet];

        [seachableItems addObject:item];

    

    [[CSSearchableIndex defaultSearchableIndex] indexSearchableItems:seachableItems

                                                   completionHandler:^(NSError * __nullable error) {                                                              if (!error)

                                                       NSLog(@"%@",error.localizedDescription);

                                                   }];

    //[CSSearchableIndex defaultSearchableIndex] deleteSearchableItemsWithIdentifiers: completionHandler:<#^(NSError * _Nullable error)completionHandler#>];

}


重写方法

- (BOOL)application:(nonnull UIApplication *)application continueUserActivity:(nonnull NSUserActivity *)userActivity restorationHandler:(nonnull void (^)(NSArray * __nullable))restorationHandler{

    

    NSString *idetifier = userActivity.userInfo[@"kCSSearchableItemActivityIdentifier"];

    

    UINavigationController *navigationController = (UINavigationController *)self.courseVC.navigationController;

    [navigationController popToRootViewControllerAnimated:YES];

    [self.courseVC showWithNewAPP:idetifier];

    //[self.courseVC showAnAppDetailViewWithappKey:@"1040081628"];

    

    return YES;

    

}


2 新特性 3DTouch

APPDelegate中重写方法即可

-(void)application:(UIApplication *)application performActionForShortcutItem:(UIApplicationShortcutItem *)shortcutItem completionHandler:(void (^)(BOOL))completionHandler{

    NSString *type = shortcutItem.type;

    if ([type isEqualToString:@"com.adc.itemSetting"]) {

        

        [self.courseVC gotoSettingview];

    }else if([type isEqualToString:@"com.adc.itemSearch"]){

        

        [self.courseVC showWithNewAPP:@"com.adc.itemFreeLimited"];

    }e

}


主页显示的quickly action 可以在info.plist 文件中自定义静态的 



也可以动态定义

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {  

     UIApplicationShortcutItem *shortItem1 = [[UIApplicationShortcutItem alloc] initWithType:@"打开" localizedTitle:@"打开"];

    UIApplicationShortcutItem *shortItem2 = [[UIApplicationShortcutItem alloc] initWithType:@"弹框" localizedTitle:@"弹框"];

    NSArray *shortItems = [[NSArray alloc] initWithObjects:shortItem1, shortItem2, nil];

    NSLog(@"%@", shortItems);

    [[UIApplication sharedApplication] setShortcutItems:shortItems];


}
版权声明:本文为博主原创文章,未经博主允许不得转载。

IOS实现SpotLight搜索 让你的APP支持SpotLight搜索

随着项目的开发,功能需求越来越多,有的没什么卵用,有的倒是能提示不少逼格,这次接到的功能是实现IOS SpotLight搜索效果。 这个功能很早就有,主要功能是在IOS9系统界面下拉会出现搜索功能界面...
  • a416863220
  • a416863220
  • 2016年04月22日 15:32
  • 2215

iOS9.0 Spotlight的使用方法及总结的一些坑点

首先使用该功能,必须是iOS9.0之上的系统,然后需要导入CoreSpotlight.framework框架。 下面我们将介绍如何快速的给自己的程序集成Spotlight功能,及在搜索出来的列表下支持...
  • longitachi
  • longitachi
  • 2015年12月08日 14:07
  • 1496

iOS10 widget实现,3Dtouch 弹出菜单

文章将依次从以下几个问题着手,进行详细说明: 1、如何为现有的工程添加widget; 2、如何绘制UI; 3、如何调起app; 4、如何与host app共享数据。 图2 添...
  • SHTLoveXX
  • SHTLoveXX
  • 2016年12月19日 13:55
  • 1685

iOS9 3DTouch 新特性之实现过程—OC版

一、前言 因最近入手一个6sp, 看着3DTouch 挺好玩的,就想自己实现下, 3D Touch 听上去好高端,很难开发的样子,但原来那么简单,往往看着复杂高端的的东西其实简单。因为很多都是现成...
  • yj229201093
  • yj229201093
  • 2016年07月20日 15:57
  • 822

iOS9新特性之实现3DTouch就是So easy(更新Swift 版 )

首先我们需要在Info.plist文件中加上一项  UIApplicationShortcutItemsUIApplicationShortcutItemIconTypeUIApplicatio...
  • feiyuyuan_9257
  • feiyuyuan_9257
  • 2015年11月03日 20:04
  • 213

iOS9 之3DTouch 入门

在iphone6s问世之后,很多果粉都争先要体验3D Touch给用户带来的额外维度上的交互,这个设计之所以叫做3D Touch,其原理上是增加了一个压力的感触,通过区分轻按和重按来进行不同的用户交互...
  • qq_31337641
  • qq_31337641
  • 2015年12月03日 16:10
  • 258

iOS9 3DTouch(ShortcutItem、Peek/Pop)等简单使用

/** 笔者废话:懒癌成疾!懒癌成疾!懒癌成疾!重要的事情说三遍,此篇用文本文档花了15分钟写完。想着晚上花一点时间整理发布,结果今天推明天,明天推后天,一天又一天,整整拖了一周。我想我应该是没救了...
  • cxj3599819
  • cxj3599819
  • 2015年12月16日 16:08
  • 198

iOS9新特性 3DTouch 开发教程全解(含源码)

本文主要讲解3DTouch各种场景下的开发方法,开发主屏幕应用icon上的快捷选项标签(Home Screen Quick Actions),静态设置UIApplicationShortcutItem...
  • zrhloveswallow
  • zrhloveswallow
  • 2016年07月06日 15:20
  • 425

iOS9新特性 3DTouch 开发教程全解(含源码)

本文主要讲解3DTouch各种场景下的开发方法,开发主屏幕应用icon上的快捷选项标签(Home Screen Quick Actions),静态设置UIApplicationShortcutItem...
  • ZLF_GoUP
  • ZLF_GoUP
  • 2016年01月15日 20:51
  • 272

[绍棠] 关于iOS9 出的3DTouch 功能Demo

前提:这个功能必须要iPhone6s iPhone6s plus 以上的机型才可以使用,在这里附上   有牛人搞了个模拟器也能支持3DTouch功能,具体查看https://github.com/De...
  • happyshaotang2
  • happyshaotang2
  • 2016年08月05日 10:48
  • 201
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:iOS 9 spotlight搜索 3DTouch
举报原因:
原因补充:

(最多只允许输入30个字)