Ayu*_*ush 11 objective-c ios ios9 nsuseractivity
以下是我试图实现的代码,以使应用程序活动和状态可搜索但无法在iOS搜索上显示
NSUserActivity *userActivity = [[NSUserActivity alloc]initWithActivityType:@"com.mycompany.activity-type"];
userActivity.title = @"Hello world from in app search";
userActivity.keywords = [NSSet setWithArray:@[@"Hello",@"Welcome", @"search"]];
userActivity.userInfo = @{@"id":@"com.example.state"};
userActivity.eligibleForSearch = YES;
[userActivity becomeCurrent];
Run Code Online (Sandbox Code Playgroud)
链接让我的问题更清楚.
L A*_*L A 21
来自Apple论坛:
咬了一些人(包括我自己)的一件事是,活动不能被解除分配.如果你的代码只用NSUserActivities工作(即除了不使用CoreSpotlight),然后让 确保你的活动不被立即释放.
在我的例子中,我有代码分配NSUA,在其上设置一些属性,调用becomeCurrent,但随后对象将超出范围并解除分配.如果您这样做,请尝试将活动折腾成一个强大的属性,看看您是否可以在搜索时看到结果.
https://forums.developer.apple.com/message/13640#13640
小智 6
我发现在调用-becomeCurrent之前,您必须将已创建的NSUserActivity实例分配给当前可见的UIViewControllers的userActivity属性.它已经为我修复了这些项目,这些项目立即出现在其他设备上的切换和同一设备上的聚光灯搜索中.