我正在使用聚光灯搜索,我已经在我的功能中实现了所有必需的想法,但仍然没有在搜索中找到项目,请建议我。
-(void)functionForSportlightsearch{
NSUserActivity *activity = [[NSUserActivity alloc] initWithActivityType:sportlightSearchID];
activity.title = @"Item test";
activity.keywords = [NSSet setWithArray:self.arrUnits];
activity.eligibleForSearch = YES;
[activity becomeCurrent];
}
启用此功能仍然缺少什么,我在 viewDidLoad(RootviewController)中调用它。
答案 0 :(得分:0)
使用iOS 9,Apple升级Handoff,将其与Spotlight相关联。
为此,应用程序只需要注册已启动的活动(使用NSUserActivity),以及它呈现的内容(使用Core Spotlight);然后系统处理该信息,在本地或Apple服务器上对其进行索引。
Apple规定,不应过度使用关键字 跟随开发人员的警告:将检测到不相关的关键字 并且活动将无法通过它们进行搜索。
要处理搜索结果,必须实现appDelegate中的特定方法:
- (BOOL)application:(UIApplication *)application continueUserActivity:(NSUserActivity *)userActivity restorationHandler:(void(^)(NSArray *restorableObjects))restorationHandler
此方法应重新创建与活动关联的视图并将其呈现给用户。
答案 1 :(得分:0)
同时在上面的代码中添加以下行..
self.userActivity = activity;
userActivity 是UIResponder类属性。