NSUserActivity 未在 osx 上编入索引
NSUserActivity not getting indexed on osx
我正在尝试将我自己的 activity 添加到 osx 10.11 上的 Spotlight 搜索结果中。但是经过多次尝试,我无法通过关键字搜索而不是通过标题搜索进入 Spotlight 搜索结果。
{
self.userActivity = [[NSUserActivity alloc] initWithActivityType:@"Reverse DNS keyword"];
self.userActivity.title = @"Some title";
self.userActivity.keywords = [NSSet setWithArray: @[@"Some keywords"]];
self.userActivity.eligibleForSearch = YES;
self.userActivity.eligibleForHandoff = YES;
self.userActivity.eligibleForPublicIndexing = YES;
self.userActivity.userInfo = @{@"name" : @"Some name"};
self.userActivity.delegate = self;
self.userActivity.requiredUserInfoKeys =[NSSet setWithArray: @[@"name"]];
self.userActivity.needsSave = YES;
[self.userActivity becomeCurrent];
NSApp.userActivity = self.userActivity;
}
- (void)userActivityWillSave:(NSUserActivity *)userActivity
{
userActivity.userInfo = @{@"name" : @"Some name"};
}
我还用 NSUserActivityTypes 数组和 initWithActivityType: 参数中的项目更新了 Info.plist
我还注意到控制台中有时会出现消息:
16/09/2016 13:14:49.731 Caching encoded userInfo to use until we are marked dirty again (UAUserActivity.m #1567)
16/09/2016 13:14:49.731 Returning cached encoded userInfo (UAUserActivity.m #1508)
经过大量搜索,最终我在 TN2416:
中找到了我的问题的答案
**Are these new Search APIs available on OS X?**
CoreSpotlight and the search functionality of NSUserActivity are not supported on OS X. However, web search results may be shown on OS X.
我正在尝试将我自己的 activity 添加到 osx 10.11 上的 Spotlight 搜索结果中。但是经过多次尝试,我无法通过关键字搜索而不是通过标题搜索进入 Spotlight 搜索结果。
{
self.userActivity = [[NSUserActivity alloc] initWithActivityType:@"Reverse DNS keyword"];
self.userActivity.title = @"Some title";
self.userActivity.keywords = [NSSet setWithArray: @[@"Some keywords"]];
self.userActivity.eligibleForSearch = YES;
self.userActivity.eligibleForHandoff = YES;
self.userActivity.eligibleForPublicIndexing = YES;
self.userActivity.userInfo = @{@"name" : @"Some name"};
self.userActivity.delegate = self;
self.userActivity.requiredUserInfoKeys =[NSSet setWithArray: @[@"name"]];
self.userActivity.needsSave = YES;
[self.userActivity becomeCurrent];
NSApp.userActivity = self.userActivity;
}
- (void)userActivityWillSave:(NSUserActivity *)userActivity
{
userActivity.userInfo = @{@"name" : @"Some name"};
}
我还用 NSUserActivityTypes 数组和 initWithActivityType: 参数中的项目更新了 Info.plist
我还注意到控制台中有时会出现消息:
16/09/2016 13:14:49.731 Caching encoded userInfo to use until we are marked dirty again (UAUserActivity.m #1567)
16/09/2016 13:14:49.731 Returning cached encoded userInfo (UAUserActivity.m #1508)
经过大量搜索,最终我在 TN2416:
中找到了我的问题的答案**Are these new Search APIs available on OS X?**
CoreSpotlight and the search functionality of NSUserActivity are not supported on OS X. However, web search results may be shown on OS X.