我有以下代码,如果用户已经登录(并链接到Facebook),我在Login.m
视图控制器类中使用该代码绕过该屏幕。
对于上下文,我使用的是Parse Platform,因此引用了PFUser
class。
-(void)viewDidAppear:(BOOL)animated
{
[super viewDidAppear:animated];
// Check if user is cached and linked to Facebook, if so, bypass login
if ([PFUser currentUser] && [PFFacebookUtils isLinkedWithUser:[PFUser currentUser]]) {
UITabBarController *tabController = [self.storyboard instantiateViewControllerWithIdentifier:@"initialtabview"];
[self presentViewController:tabController animated:NO completion:^(void){}];
}
}
这当然有效,尽管用户在initialtabview
出现之前会获得一个登录视图。
有什么方法可以避免这种情况吗?
请注意,我的应用程序当前已设置为Login视图是初始视图控制器。因此,我可以在didFinishLaunchingWithOptions
的{{1}}中做些什么?
请注意,如果在AppDelegate
中使用此代码,则代码将完全失效。
答案 0 :(得分:0)
我认为有两种方法可以解决您的问题:
1.您可以尝试viewDidLoad:
方法中的代码块,该方法在viewDidAppear:
之前调用
2.您可以使用InitialTableView
启动应用,只有在用户未缓存或链接到Facebook时才会加载Login.m
视图。然后在InitialTableView
我更喜欢viewDidLoad:
函数来呈现登录视图。