我有一个应用程序,它使用safari进行身份验证,当它返回时,我希望它立即加载表视图,没有登录视图。 以下是我现在所做的事情:
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
DVGViewController *myVC = [[DVGViewController alloc] initWithNibName:@"DVGViewController" bundle:nil];
self.viewController = [[UINavigationController alloc] initWithRootViewController:myVC];
self.window.rootViewController = self.viewController;
[self.window makeKeyAndVisible];
return YES;
}
- (BOOL)application:(UIApplication *)application handleOpenURL:(NSURL *)url {
// some code skipped
UITableViewController *myTVC = [[DVGTableViewController alloc] init];
self.viewController = [[UINavigationController alloc] initWithRootViewController:myTVC];
return YES;
}
目前我仍然得到第一种方法来工作,虽然第二种方法也被触发,因为我从url计算得到它并且我知道。为什么它不加载tableView我不知道。
答案 0 :(得分:0)
- (BOOL)application:(UIApplication *)application handleOpenURL:(NSURL *)url
方法将调用,如果你的应用程序来自特定的URl,如来自facebook auth或来自safari,那么此方法将调用
答案 1 :(得分:0)
我发现了一个错误。在第二种方法中,我从未设置过window和rootViewController。将此代码添加到第二种方法有帮助。
self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
self.window.rootViewController = self.viewController;
[self.window makeKeyAndVisible];