1.1 NSUserActivity的基本使用
NSUserActivity一开始是专门用于IOS8的handoff功能
NSUserActivity *activity2 = [[NSUserActivity alloc]initWithActivityType:domainIdentifier];
Handoff是iOS8新出的一个功能,它可以在你的iPhone、iPad和Mac上自由切换未完成的邮件,未制作完的文档,在有人拨打你的 iPhone,你正在使用iPad,这时候就不需要放下iPad区接听电话,而可以直接在iPad上接听。这些功能可能在不经意间就方便了我们的生活。
现在也可以通过这个类来使用到我们的App搜索上
用到SpotLight的相关API首先需要我们添加两个FrameWork
同时需要我们导入头文件
当需要有存一些参数如进房信息等方便接下来的操作,我们可以通过
设置NSUserActivity 里面的 userInfo属性,userInfo是一个字典,方便存入我们的需要的参数信息。
NSUserActivity使用的时候需要 self.activity= activity 强引用,然后再执行[activitybecomeCurrent];添加到索引库里面去。
NSUserActivityDelegate会在activity存进去前会回调下面的方法
-(void)userActivityWillSave:(NSUserActivity*)userActivity
{
}
为了提高我们的索引的易搜索性,我们可以通过设置keywords。
并通过设置eligibleForPublicIndexing和eligibleForSearch来动态显示或者隐藏该索引。
[[CSSearchableIndexdefaultSearchableIndex] deleteAllSearchableItemsWithCompletionHandler:^(NSError){
}
NSUserActivity 删除需要把指针置为nil 而且执行上面的方法
当搜索出来的结果并且点击进去的时候,会回调AppDelegate的这个方法,同时我们可以获得userActivity中的所有参数信息,并可以通过该参