ios cssearchableitemsetattributenodeset显示在用户界面的属性有哪些及显示样式

iOS 9:快速让你的APP支持spotlight搜索
iOS9中支持为app中的内容做索引以支持spotlight搜索,感觉是个很有心意的功能。需要提到的是这些索引是存在本地设备中的,不会同步到icoloud中,更换了设备就没有了。
效果就是这样:
创建支持搜索的内容
支持搜索的内容的类是CSSearchableItem。
可以展示的属性有标题,一段描述文字,还有缩略图。这里建议给每个item设置一个过期时间(expirationDate)。
首先创建表示一个配置展示内容的对象CSSearchableItemAttributeSet
let attributeSet = CSSearchableItemAttributeSet(itemContentType: kUTTypeData as String)
// Add metadata that supplies details about the item.
attributeSet.title = "July Report.Numbers"
attributeSet.contentDescription = "iWork Numbers Document"
attributeSet.thumbnailData = DocumentImage.jpg
attributeSet也支持电话号码,和地理坐标。右边会有对应的动作,如果是支持导航会有一个箭头。(因为我的app里不需要这功能,我自己没有试过)
attributeSet.phoneN
attributeSet.
attributeSet.
创建CSSearchableItem
uniqueIdentifier相当于这条数据的id。domainIdentifier则表示相关的域。苹果还提供了一组api对这些索引进行修改删除操作,domainIdentifier可以当做参数,比如可以讲一个域下的所有索引删除。
let item = CSSearchableItem(uniqueIdentifier: "1", domainIdentifier: "file-1", attributeSet: attributeSet)
将CSSearchableItem添加至系统
CSSearchableIndex.defaultSearchableIndex().indexSearchableItems([item]) { error in
if error != nil {
print(error?.localizedDescription)
print("Item indexed.")
大部分的app可能还要兼容iOS8,这里介绍下swift下的判断方法。
如果是在一个方法里要使用iOS9的api,使用下面来判断(xcode7也会提醒你)。
if #available(iOS 9.0, *) {
如果是自己写的一整个方法想表示只在iOS9可用,用下面的关键字加在方法头表示
@available(iOS 9.0, *)
直接贴我的项目代码了。
用户搜索后选中打开app的处理
在app delegate里添加这个回调就好了。
func application(UIApplication, continueUserActivity userActivity: NSUserActivity, restorationHandler: [AnyObject]? -& Void) -& Bool {
在OC下的方法是这个
-(BOOL)application:(UIApplication *)application continueUserActivity:(NSUserActivity *)userActivity restorationHandler:(void (^)(NSArray * _Nullable))restorationHandler{
通过这个可以取到创建CSSearchableItem时设置的identifier
NSString* identifier=userActivity.userInfo[CSSearchableItemActivityIdentifier];
接着就可以用这个identifier取出对应的数据,进行处理了。> 博客详情
摘要: iOS9的另一大亮点是搜索功能的改善,通过它,app可以更加与自由的展示其内部的数据与功能。
更加智能的搜索方案——iOS9搜索功能新api
&&&&&&&&iOS9中为我们提供了许多新的api,搜索功能的加强无疑是其中比较显眼的一个。首先,我们先设想一下:如果在你的app中定义一种标识符,在siri和搜索中,可以用过这个标识符搜索到你的app,是不是很棒?不,这还差得远,你可以定义任意的数据,使其在搜索和siri中可以快速检索到,这样的搜索功能是不是非常酷?不,还有更cool的,你甚至可以在你的网站中添加一些标志,使apple的爬虫可以检索到,那样,即使用户没有安装你的app,也可以在搜索中获取到相应的信息,这太强大了,对吧。
二、3种全新的搜索模式
?1、NSUserActivity?
&&&&&&&&我们可以在项目中使用相应的函数来添加一些用户的活跃元素,使我们可以在搜索中通过搜索这样的活跃元素展现我们的app。例如:
&&&&//创建一个对象,这里的type用于区分搜索的类型
&&&&NSUserActivity&*userActivity&=&[[NSUserActivity&alloc]&initWithActivityType:&@"myapp"];
&&&&//显示的标题
&&&&userActivity.title&=&@"我的app";
&&&&//&搜索的关键字
&&&&userActivity.keywords&=&[NSSet&setWithArray:&@[@"sea",@"rch"]];
&&&&//&支持Search
&&&&userActivity.eligibleForSearch&=&YES;
&&&&//提交设置
&&&&[userActivity&becomeCurrent];
在下面的函数中,我们可以处理用户点击搜索后的回调:
-&(BOOL)application:(UIApplication&*)application&continueUserActivity:(NSUserActivity&*)userActivity&restorationHandler:
&NSString&*activityType&=&userActivity.activityT
&&&&if&([activityType&isEqual:&@"myapp"]){
&&&&&&&&//&Handle&restoration&for&values&provided&in&userInfo
&&&&&&&&//&do&something
&&&&&&&&return&YES;
&&&&return&NO;
&&&&//处理回调
TIP:这种方式添加的关键字搜索,必须创建全局变量,否则无法进行搜索:
2、CoreSpotlight
&&&&&&&&CoreSpotlight是一种更加自由的搜索方式,可以通过添加类似item的模型,将app中的数据展示在搜索栏中,CoreSpotlight框架类似提供了一些增、删、改、查的操作,可是使我们自由的进行搜索属性的设置。
(1)认识3个类
在iOS9中,新增加了3个类,通过对这三个类的操作与配合,我们可以轻易的在app中添加CoreSpotlight搜索的功能。
&CSSearchableItemAttributeSet:设置类,这个类用于设置搜索标签里的icon,内容,图片等。主要用法如下:
//这个类的核心方法只有一个init方法,通过一个类型字符串进行创建,字符串用于在回调中区分
@interface&CSSearchableItemAttributeSet&:&NSObject&&NSCopying,NSSecureCoding&
-&(instancetype)initWithItemContentType:(nonnull&NSString&*)itemContentT
//更多的属性设置在其扩展类中,例如:
@interface&CSSearchableItemAttributeSet&(CSGeneral)
//展示的名称
@property(nullable,&copy)&NSString&*displayN
//名称数组
@property(nullable,&copy)&NSArray&NSString*&&*alternateN
//完整的路径
@property(nullable,&copy)&NSString&*
@property(nullable,&strong)&NSURL&*contentURL;
//图片链接的url
@property(nullable,&strong)&NSURL&*thumbnailURL;
//设置图片数据
@property(nullable,&copy)&NSData&*thumbnailD
//设置一个标识符
@property(nullable,&copy)&NSString&*relatedUniqueI
@property(nullable,&strong)&NSDate&*metadataModificationD
//内容类型
@property(nullable,&copy)&NSString&*contentT
@property(nullable,&copy)&NSArray&NSString*&&*contentTypeT
//搜索的关键字数组
@property(nullable,&copy)&NSArray&NSString*&&*
//标题信息
@property(nullable,&copy)&NSString&*
&CSSearchableItem:搜索标签类,通过这个类,来创建响应的搜索标签。主要内容如下:
//这个类主要用于创建搜索的标签
@interface&CSSearchableItem&:&NSObject&&NSSecureCoding,&NSCopying&
//init方法
-&(instancetype)initWithUniqueIdentifier:(nullable&NSString&*)uniqueIdentifier&//Can&be&null,&one&will&be&generated
&&&&&&&&&&&&&&&&&&&&&&&&domainIdentifier:(nullable&NSString&*)domainIdentifier
&&&&&&&&&&&&&&&&&&&&&&&&&&&&attributeSet:(CSSearchableItemAttributeSet&*)attributeS
//相应&的属性
@property&(copy)&NSString&*uniqueI
@property&(copy,&nullable)&NSString&*domainI
@property&(copy,&null_resettable)&NSDate&*&expirationD
@property&(strong)&CSSearchableItemAttributeSet&*attributeS
CSSearchableIndex:这个类,我个人理解,类似一个manager的作用,通过它对标签进行增、删、改、查等操作:
@interface&CSSearchableIndex&:&NSObject
@property&(weak,nullable)&id&CSSearchableIndexDelegate&&indexD
//判断设备是否支持
+&(BOOL)isIndexingA
//取系统的searchIndex管理者
+&(instancetype)defaultSearchableI
//一般情况下,我们不需要重新创建对象
-&(instancetype)initWithName:(NSString&*)
-&(instancetype)initWithName:(NSString&*)name&protectionClass:(nullable&NSString&*)protectionC
//设置索引标签
-&(void)indexSearchableItems:(NSArray&CSSearchableItem&*&&*)items&completionHandler:(void&(^&__nullable)(NSError&*&__nullable&error))completionH
//删除指定id索引标签
-&(void)deleteSearchableItemsWithIdentifiers:(NSArray&NSString&*&&*)identifiers&completionHandler:(void&(^&__nullable)(NSError&*&__nullable&error))completionH
-&(void)deleteSearchableItemsWithDomainIdentifiers:(NSArray&NSString&*&&*)domainIdentifiers&completionHandler:(void&(^&__nullable)(NSError&*&__nullable&error))completionH
//删除所有索引标签
-&(void)deleteAllSearchableItemsWithCompletionHandler:(void&(^&__nullable)(NSError&*&__nullable&error))completionH
(2)一个小例子
&&&&&&&&下面,我们通过一个小例子来应用下CoreSpotlight的搜索功能。
首先,需要在项目中导入如下库:
实现如下代码:
&//进行标签设置
&CSSearchableItemAttributeSet&*&itemSet&=&[[CSSearchableItemAttributeSet&alloc]initWithItemContentType:@"myApp"];
&&&&itemSet.title&=&@"我的APP";
&&&&itemSet.keywords&=&@[@"haha",@"123"];
&&&&itemSet.contentDescription&=&@"这是搜索到得内容";
&&&&itemSet.thumbnailData&=&UIImagePNGRepresentation([UIImage&imageNamed:@"Icon-114.png"]);
&&&&CSSearchableItem&*&item&=&[[CSSearchableItem&alloc]initWithUniqueIdentifier:@"1"&domainIdentifier:@"1"&attributeSet:itemSet];
&&&&[[CSSearchableIndex&defaultSearchableIndex]indexSearchableItems:@[item]&completionHandler:nil];
我们在搜索中输入haha或者123效果如下:
CoreSpotlight的搜索回调和NSUserActivaty一样,只是区分id的方式有所不同:
-&(BOOL)application:(UIApplication&*)application&continueUserActivity:(NSUserActivity&*)userActivity&restorationHandler:
&&&&NSString&*activityType&=&userActivity.activityT
&&&&//先取CSSearchableItemActionType
&&&&if&([activityType&isEqual:&CSSearchableItemActionType])&{
&&&&&&&&NSString&*uniqueIdentifier&=&[userActivity.userInfo&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&objectForKey:CSSearchableItemActivityIdentifier];
&&&&&&&&//&do&something
&&&&&&&&return&YES;
&&&&return&NO;
3、Web Markup
&&&&&&&&这个功能与我们app开发关系不大,但是对我app的推广却至关重要,这项技术可以让我们的app关联一个网站,apple通过爬虫来获取我们规定的一些标签值,无论用户是否安装了app,在搜索时,都可以展示出相关信息,因为这项功能主要关联前端技术,需要了解的可以参看:。
&&&&&&&&在我参考的许多相关文章中,都一致建议,iOS9的搜索功能固然强大,然而滥用会造成垃圾信息的泛滥,这样的结果一定会适得其反,作为开发者,我们需要将最合适,最简洁的信息推送到用户的面前。另外,文章有疏漏和错误之处,欢迎指正。
欢迎转载 请注明出处
专注技术,热爱生活,交流技术,也做朋友。
——珲少 QQ群:
人打赏支持
码字总数 393463
支付宝支付
微信扫码支付
打赏金额: ¥
已支付成功
打赏金额: ¥1.Spotloight是什么?
  Spotlight在iOS9上做了一些新的改进, 也就是开放了一些新的API, 通过Core Spotlight Framework你可以在你的app中集成Spotlight。集成Spotlight的App可以在Spotlight中搜索App的内容,并且通过内容打开相关页面。
  Demo演示
2.如何集成Spotlight
  a.添加所需要的框架 
#if __IPHONE_OS_VERSION_MAX_ALLOWED &= 90000
#import &CoreSpotlight/CoreSpotlight.h&
#import &MobileCoreServices/MobileCoreServices.h&
  注,很多APP都是支持iOS9以下的,因此加入#if __IPHONE_OS_VERSION_MAX_ALLOWED &= 90000,可以解决iOS9以下设备运行崩溃的问题
  b.创建&CSSearchableItemAttributeSet 对象
CSSearchableItemAttributeSet *attributeSet = [[CSSearchableItemAttributeSet alloc] initWithItemContentType:(NSString *)kUTTypeImage];
attributeSet.title = spotlightT
attributeSet.keywords =
// 关键字,NSArray格式
attributeSet.contentDescription = spotlightD
attributeSet.thumbnailData =
// 图标, NSData格式  // 把图片转换成NSData的方法  UIImagePNGRepresentation([UIImage imageNamed:@"xxx.png"]
  c.创建可检索条目CSSearchableItem
// spotlightInfo 可以作为一些数据传递给接受的地方
// domainId
id,通过这个id来判断是哪个spotlight
CSSearchableItem *item = [[CSSearchableItem alloc] initWithUniqueIdentifier:spotlightInfo domainIdentifier:domainId attributeSet:attributeSet];
  d.添加检索入口
[[CSSearchableIndex defaultSearchableIndex] indexSearchableItems:@[item] completionHandler:^(NSError * error) {
if (error) {
NSLog(@"indexSearchableItems Error:%@",error.localizedDescription);
  ========完整代码========
- (void)insertSearchableItem:(NSData *)photo spotlightTitle:(NSString *)spotlightTitle description:(NSString *)spotlightDesc keywords:(NSArray *)keywords spotlightInfo:(NSString *)spotlightInfo domainId:(NSString *)domainId {
CSSearchableItemAttributeSet *attributeSet = [[CSSearchableItemAttributeSet alloc] initWithItemContentType:(NSString *)kUTTypeImage];
attributeSet.title = spotlightT
attributeSet.keywords =
// 关键字,NSArray格式
attributeSet.contentDescription = spotlightD
attributeSet.thumbnailData =
// 图标, NSData格式
// spotlightInfo 可以作为一些数据传递给接受的地方
// domainId
id,通过这个id来判断是哪个spotlight
CSSearchableItem *item = [[CSSearchableItem alloc] initWithUniqueIdentifier:spotlightInfo domainIdentifier:domainId attributeSet:attributeSet];
[[CSSearchableIndex defaultSearchableIndex] indexSearchableItems:@[item] completionHandler:^(NSError * error) {
if (error) {
NSLog(@"indexSearchableItems Error:%@",error.localizedDescription);
  ========加载本地图片的使用方法========
[self insertSearchableItem:UIImagePNGRepresentation([UIImage imageNamed:@"xxx.png"]) spotlightTitle:@"等风来" description:@"等风来描述" keywords:@[@"鲍鲸鲸",@"大丽花"] spotlightInfo:@"传递过去的值" domainId:@"com.wb.spotlight"];
  ========加载网络图片的使用方法========
dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{
NSData * data = [NSData dataWithContentsOfURL:[NSURL URLWithString:@"/doc/pic/item/eaf81a4c510fd9f905fa2934a48e.jpg"]];
[self insertSearchableItem:data spotlightTitle:@"等风来" description:@"等风来描述" keywords:@[@"鲍鲸鲸",@"大丽花"] spotlightInfo:@"传递过去的值" domainId:@"com.wb.spotlight"];
  ========删除所有spotlight的方法========
[[CSSearchableIndex defaultSearchableIndex] deleteAllSearchableItemsWithCompletionHandler:^(NSError * _Nullable error) {
if (error) {
NSLog(@"%@", error.localizedDescription);
  ========删除指定的spotlight的方法========
[[CSSearchableIndex defaultSearchableIndex] deleteSearchableItemsWithDomainIdentifiers:@"domainId" completionHandler:^(NSError * _Nullable error) {
if (error) {
NSLog(@"%@", error.localizedDescription);
  ========点击spotlight后的响应方法========
- (BOOL)application:(UIApplication *)application continueUserActivity:(NSUserActivity *)userActivity restorationHandler:(void (^)(NSArray * _Nullable))restorationHandler {
if ([[userActivity activityType] isEqualToString:CSSearchableItemActionType]) {
NSString *uniqueIdentifier = [userActivity.userInfo objectForKey:CSSearchableItemActivityIdentifier];
// 接受事先定义好的数值,如果是多个参数可以使用把json转成string传递过来,接受后把string在转换为json
NSLog(@"传递过来的值%@", uniqueIdentifier);
return YES;
#if __IPHONE_OS_VERSION_MAX_ALLOWED &= 90000  // 相关spotlight的方法等#endif// Spotlight支持iOS9以上设备运行,对与低版本的设备需加入这个防止崩溃问题
阅读(...) 评论()转载自: &/ludashi/p/4867511.html
  Spotlight在iOS9上做了一些新的改进, 也就是开放了一些新的API, 通过Core Spotlight Framework你可以在你的app中集成Spotlight。集成Spotlight的App可以在Spotlight中搜索App的内容,并且通过内容打开相关页面。因为接到开发任务,老大说让在App中支持Spotlight, 于是又搞了搞苹果的官方文档。可以说,集成Spotlight不算复杂,官网上讲的也挺明白的,今天博客就通过一个Demo来集成一下Spotlight。
  苹果官方有关Core Spotlight Framework的链接如下:
  一.Demo运行效果
  还是通过一个Demo来进行介绍,Demo运行效果如下。我们App中有关于宫崎骏的的内容,然后在Spotlight中搜索宫崎骏,就可以搜索到相关内容,并且可以点击打开展示相关内容。具体运行效果如下:
  二.集成Core Spotlight Framework
    1.想在App中使用Spotlight,首先得引入Core Spotlight Framework,Targets -&General -& linked Frameworks and Libraries&点击加号添加CoreSpotlight.framework。如下截图所示。
    2.在相应的视图控制器中引入&CoreSpotlight/CoreSpotlight.h&头文件,然后就开始写代码使自己的App内容支持Spotlight搜索了。下面是为Demo添加Spotlight的相关代码。Spotlight搜索出来的东西,每一项就是一个条目即CSSearchableItem的对象,而改对象又关联一个属性集合(CSSearchableItemAttributeSet&)该集合中存储了CSSearchableItem对象的相关属性,如果title(标题),&contentDescription(内容简介),
thumbnailData(图片)等所需内容。具体请看下方代码描述和代码注释。
    代码描述:
      (1).首先定义了一个temp数组,用来存储在Spotlight中搜索的关键字,也就是Spotlight可以搜索到的App内容。数组中的内容通过循环遍历经过一系列的步骤给Spotlight进行关联。
      (2)在每次遍历内容数组的过程中,需要创建一个CSSearchableItemAttributeSet(属性集合),并给属性集合中的一些属性赋上值。然后再创建一个CSSearchableItem,创建CSSearchableItem时,把其对应的属性集合进行关联。把每次创建好的条目暂存到可变数组中,因为创建好所有的条目后还要和Spotlight的索引(CSSearchableIndex)进行关联。
      (3)通过单例获取CSSearchableIndex的对象,并与我们创建好的CSSearchableItem数组进行关联。具体代码和步骤如下。
1 - (void)supportSpotlightSearch {
dispatch_queue_t queue = dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0);
dispatch_async(queue, ^{
NSArray *temp = @[@"宫崎骏-龙猫", @"宫崎骏-千与千寻", @"宫崎骏-天空之城"];
//创建SearchableItems的数组
NSMutableArray *searchableItems = [[NSMutableArray alloc] initWithCapacity:temp.count];
for (int i = 0; i & temp. i ++) {
//1.创建条目的属性集合
CSSearchableItemAttributeSet * attributeSet = [[CSSearchableItemAttributeSet alloc] initWithItemContentType:(NSString*) kUTTypeImage];
//2.给属性集合添加属性
attributeSet.title = temp[i];
attributeSet.contentDescription = [NSString stringWithFormat:@"宫崎骏与%@", temp[i]];
attributeSet.thumbnailData = UIImagePNGRepresentation([UIImage imageNamed:[NSString stringWithFormat:@"%d.png", i+1]]);
//3.属性集合与条目进行关联
CSSearchableItem *searchableItem = [[CSSearchableItem alloc] initWithUniqueIdentifier:[NSString stringWithFormat:@"%d", i+1] domainIdentifier:@"ZeluLi.SpotlightSearchDemo" attributeSet:attributeSet];
//把该条目进行暂存
[searchableItems addObject:searchableItem];
//4.吧条目数组与索引进行关联
[[CSSearchableIndex defaultSearchableIndex] indexSearchableItems:searchableItems completionHandler:^(NSError * _Nullable error) {
if (!error) {
NSLog(@"%s, %@", __FUNCTION__, [error localizedDescription]);
@catch (NSException *exception) {
NSLog(@"%s, %@", __FUNCTION__, exception);
@finally {
    3.处理搜索后条目点击的事件,该事件的处理要在AppDelegate中下面的委托代理方法中进行处理。下面的idetifier就是属性集合与条目进行关联时指定的唯一标示。
1 - (BOOL)application:(nonnull UIApplication *)application continueUserActivity:(nonnull NSUserActivity *)userActivity restorationHandler:(nonnull void (^)(NSArray * __nullable))restorationHandler{
NSString *idetifier = userActivity.userInfo[@"kCSSearchableItemActivityIdentifier"];
UINavigationController *navigationController = (UINavigationController *)self.window.rootViewC
ViewController *vc = [navigationController viewControllers][0];
[vc.myImage setImage:[UIImage imageNamed:[NSString stringWithFormat:@"%@.png",idetifier]]];
return YES;
    DEMO分享地址--github:
阅读(...) 评论()iOS9中支持为app中的内容做索引以支持spotlight搜索,感觉是个很有心意的功能。需要提到的是这些索引是存在本地设备中的,不会同步到icoloud中,更换了设备就没有了。
效果就是这样:
创建支持搜索的内容
支持搜索的内容的类是CSSearchableItem。
可以展示的属性有标题,一段描述文字,还有缩略图。这里建议给每个item设置一个过期时
iOS9中支持为app中的内容做索引以支持spotlight搜索,感觉是个很有心意的功能。需要提到的是这些索引是存在本地设备中的,不会同步到icoloud中,更换了设备就没有了。
效果就是这样:
创建支持搜索的内容
支持搜索的内容的类是CSSearchableItem。
可以展示的属性有标题,一段描述文字,还有缩略图。这里建议给每个item设置一个过期时间(expirationDate)。
首先创建表示一个配置展示内容的对象CSSearchableItemAttributeSet
let attributeSet = CSSearchableItemAttributeSet(itemContentType: kUTTypeData as String)
// Add metadata that supplies details about the item.
attributeSet.title = "July Report.Numbers"
attributeSet.contentDescription = "iWork Numbers Document"
attributeSet.thumbnailData = DocumentImage.jpg
attributeSet也支持电话号码,和地理坐标。右边会有对应的动作,如果是支持导航会有一个箭头。(因为我的app里不需要这功能,我自己没有试过)
attributeSet.phoneN
attributeSet.
attributeSet.
创建CSSearchableItem
uniqueIdentifier相当于这条数据的id。domainIdentifier则表示相关的域。苹果还提供了一组api对这些索引进行修改删除操作,domainIdentifier可以当做参数,比如可以讲一个域下的所有索引删除。
let item = CSSearchableItem(uniqueIdentifier: "1", domainIdentifier: "file-1", attributeSet: attributeSet)
将CSSearchableItem添加至系统
CSSearchableIndex.defaultSearchableIndex().indexSearchableItems([item]) { error in
if error != nil {
print(error?.localizedDescription)
print("Item indexed.")
大部分的app可能还要兼容iOS8,这里介绍下swift下的判断方法。
如果是在一个方法里要使用iOS9的api,使用下面来判断(xcode7也会提醒你)。
if #available(iOS 9.0, *) {
如果是自己写的一整个方法想表示只在iOS9可用,用下面的关键字加在方法头表示
@available(iOS 9.0, *)
直接贴我的项目代码了。
用户搜索后选中打开app的处理
在app delegate里添加这个回调就好了。
func application(UIApplication, continueUserActivity userActivity: NSUserActivity, restorationHandler: [AnyObject]? -& Void) -& Bool {
在OC下的方法是这个
-(BOOL)application:(UIApplication *)application continueUserActivity:(NSUserActivity *)userActivity restorationHandler:(void (^)(NSArray * _Nullable))restorationHandler{
通过这个可以取到创建CSSearchableItem时设置的identifier
NSString* identifier=userActivity.userInfo[CSSearchableItemActivityIdentifier];
接着就可以用这个identifier取出对应的数据,进行处理了。
版权声明:本文内容由互联网用户自发贡献,本社区不拥有所有权,也不承担相关法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件至: 进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容。
用云栖社区APP,舒服~
【云栖快讯】数据库技术天团集体亮相,分享一线生产实践经验,告诉你踩过的坑、走过的路,都是老司机,靠谱!干货分享,不可错过!&&
是解决用户结构化数据搜索需求的托管服务,支持数据结构、搜索排序、数据处理自由定制。 为您的网站或应用程序提供简单...
阿里云移动APP解决方案,助力开发者轻松应对移动app中随时可能出现的用户数量的爆发式增长、复杂的移动安全挑战等...
基于大数据的移动云服务。帮助App快速集成移动推送的功能,在实现高效、精确、实时的移动推送的同时,极大地降低了开...
为您提供简单高效、处理能力可弹性伸缩的计算服务,帮助您快速构建更稳定、安全的应用,提升运维效率,降低 IT 成本...
2017杭州云栖大会火热抢票
Loading...

我要回帖

更多关于 setattributenode 的文章

 

随机推荐