I had a quick question about NSUserActivity user information properties.
NSString *activity = @"com.test.activity"; NSUserActivity *userActivity = [[NSUserActivity alloc] initWithActivityType:activity]; userActivity.title = @"Test"; userActivity.keywords = [NSSet setWithArray:@[@"Test"]; userActivity.userInfo = @{@"location": location}; userActivity.eligibleForSearch = YES; self.userActivity = userActivity; [self.userActivity becomeCurrent];
I have the above snippet implemented in one of viewDidLoad () controllers. When my item appears in the spotlight in search, it calls the continueUserActivity delegate method.
I am trying to access the userActivity.userInfo property, but it returns null even if it was set above.
Here's the continueUserActivity snippet:
-(BOOL)application:(nonnull UIApplication *)application continueUserActivity:(nonnull NSUserActivity *)userActivity restorationHandler:(nonnull void (^)(NSArray * __nullable))restorationHandler { NSString *locationName = [[userActivity.userInfo objectForKey:@"location"] valueForKey: @"name"];
}
EDIT: I changed the location object to return as a primitive type, but I still get null in the delegate method.
Does anyone else have this problem in iOS 9 beta 3?
ios objective-c ios9
Jason ngo
source share