关闭

iOS 9 spotlight搜索 3DTouch

97人阅读 评论(0) 收藏 举报
分类:

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


}
0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:1346次
    • 积分:98
    • 等级:
    • 排名:千里之外
    • 原创:8篇
    • 转载:2篇
    • 译文:0篇
    • 评论:0条
    文章分类