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];


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

相关文章推荐

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

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

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

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

iOS9 之3DTouch 入门

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

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

首先我们需要在Info.plist文件中加上一项  UIApplicationShortcutItemsUIApplicationShortcutItemIconTypeUIApplicatio...

iOS9 3DTouch 之 Home Screen Quick Actions

测试环境: Xcode8.1 一、前言iOS9 已经过去一年了,3D Touch也在项目中实战过,但一直没有总结一下,现在新的项目也用到了3D Touch, 网上找了找资料,很杂,打算自己总结一下...

iOS9 3DTouch、ShortcutItem、Peek And Pop技术一览

iOS9 3DTouch、ShortcutItem、Peek And Pop技术一览

iOS9 3DTouch、ShortcutItem、Peek And Pop

3DTouch UITouch类里API的变化 iOS9中添加的属性 altitudeAngle 当笔平行于平面时,该值为0 当笔垂直于平面时,该值为Pi / 2 es...

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

前提:这个功能必须要iPhone6s iPhone6s plus 以上的机型才可以使用,在这里附上   有牛人搞了个模拟器也能支持3DTouch功能,具体查看https://github.com/De...

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

本文主要讲解3DTouch各种场景下的开发方法,开发主屏幕应用icon上的快捷选项标签(Home Screen Quick Actions),静态设置UIApplicationShortcutItem...

[iOS]iOS9 3DTouch、ShortcutItem、Peek And Pop技术一览

3DTouch UITouch类里API的变化 iOS9中添加的属性 altitudeAngle 当笔平行于平面时,该值为0 当笔垂直于平面时...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:iOS 9 spotlight搜索 3DTouch
举报原因:
原因补充:

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