Ich hatte eine kurze Frage über NSUserActivity UserInfo Eigenschaft.iOS 9 - NSUserActivity Benutzerinfo-Eigenschaft zeigt Null
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];
Ich habe das obige Snippet in einem der View-Controller ViewDidLoad() implementiert. Wenn mein Element in der Spotlight-Suche angezeigt wird, ruft es die continueUserActivity-Delegate-Methode auf.
Ich versuche, auf die userActivity.userInfo -Eigenschaft zugreifen, aber es gibt null zurück, obwohl es oben festgelegt wurde.
Hier ist der continueUserActivity Schnipsel:
-(BOOL)application:(nonnull UIApplication *)application continueUserActivity:(nonnull NSUserActivity *)userActivity restorationHandler:(nonnull void (^)(NSArray * __nullable))restorationHandler {
NSString *locationName = [[userActivity.userInfo objectForKey:@"location"] valueForKey: @"name"];
// Do stuff with locationName
return NO;
}
EDIT: Ich habe die Lage Objekt geändert als Urtyp zurückzukehren, aber ich bin immer noch null auf der Delegatmethode bekommen.
Hat jemand anderes dieses Problem in iOS 9 Beta 3?
Ich mache fast genau das, und es scheint nicht für mich in Xcode 7 Beta 6, entweder auf dem Simulator oder einem Gerät zu arbeiten. Das userInfo-Wörterbuch ist immer leer. Das funktioniert für dich? – bdmontz