Ich möchte bestimmte Ansicht Controller öffnen, wenn Benutzer App von URL öffnet. Aber ich bin mit dem Problem konfrontiert, wenn Benutzer auf Home-Taste tippen und App über URL öffnen, öffnet App in seinem letzten Zustand, weil View Life Cycle-Methoden nicht aufgerufen werden. Daher kann ich die Ansicht nicht zum Aufgabendetailbildschirm navigieren. Ich möchte, wenn Benutzer App durch URL öffnen, wenn es im Hintergrund ist, dann sollte es den spezifischen View-Controller öffnen. PS: Ich kann die App nicht beenden. folgenden Code verwende ich (Code wird in AppDelegate.m geschrieben):iOS: App öffnet Ansicht Life Cycle-Methoden werden nicht aufgerufen, wenn App im Hintergrund war
- (BOOL)application:(UIApplication *)application handleOpenURL:(NSURL *)url {
if([UserName length]!=0 && [Password length]!=0)
{
NSLog(@"url recieved: %@", url);
NSLog(@"query string: %@", [url query]);
NSLog(@"host: %@", [url host]);
NSLog(@"url path: %@", [url path]);
// NSDictionary *dict = [self parseQueryString:[url query]];
// NSLog(@"query dict: %@", dict);
NSArray* query = [[url query] componentsSeparatedByString: @"&"];
NSString *taskId = [query objectAtIndex: 0];
NSString *taskType = [query objectAtIndex: 1];
NSArray* taskIdArray= [taskId componentsSeparatedByString: @"="];
NSArray* taskTypeArray = [taskType componentsSeparatedByString: @"="];
taskId = [taskIdArray objectAtIndex: 1];
taskType = [taskTypeArray objectAtIndex: 1];
NSLog(@"%@,%@",taskId,taskType);
UIStoryboard *storyboard = [UIStoryboard storyboardWithName:@"MainStoryboard_iPhone" bundle:[NSBundle mainBundle]];
ActivityDetailController *destViewController = (ActivityDetailController*)[storyboard instantiateViewControllerWithIdentifier:@"ActivityDetailView"];
[self.navigationController pushViewController:destViewController animated:YES];
}
return YES;
}
Sie müssen Ihren Ansichtszustand anpassen, was Sie tun möchten. Was ist das genaue Problem, das Sie haben? Fügen Sie Methoden an den entsprechenden Stellen hinzu, die Sie mit 'handleOpenURL' aufrufen können. – Avi
Ich möchte einen View-Controller öffnen, wenn der Benutzer von URL kommt, aber wenn ich diesen View-Controller mit dem obigen Code öffne; nichts passiert. –
Die Ansicht, die sich erneut öffnet, keine Ansichts-Lebenszyklusmethode dieser Klasse aufgerufen. –