![](/img/trans.png)
[英]Is there any way to call SceneDelegate methods in iOS 14 app life cycle?
[英]iOS: App opens view life cycle methods are not called if app was in background
如果用戶從URL打開應用程序,我想打開特定的視圖控制器。 但是我面臨的問題是,如果用戶點擊主頁按鈕並通過URL打開應用程序,則應用程序將以其最后狀態打開,因為未調用視圖生命周期方法。 因此,我無法將視圖導航到任務詳細信息屏幕。 我想要的是,如果用戶通過url打開應用程序(如果它在后台),那么它應該打開特定的View控制器。 PS:我無法終止該應用程序。 我正在使用以下代碼(代碼在AppDelegate.m中編寫):
- (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;
}
如果您想每次在前台進入ActivityDetailController
時打開應用程序,則可以執行此操作,
UIStoryboard *storyboard = [UIStoryboard storyboardWithName:@"MainStoryboard_iPhone" bundle:[NSBundle mainBundle]];
ActivityDetailController *destViewController = (ActivityDetailController*)[storyboard instantiateViewControllerWithIdentifier:@"ActivityDetailView"];
[self.navigationController pushViewController:destViewController animated:YES];
}
在applicationWillEnterForeground
或applicationDidBecomeActive
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.