ios - 通过 Facebook 登录确认传递 View Controller

标签 ios xcode facebook swift

我完全被难住了,当有人使用 facebook 成功登录时,我如何让我的应用程序从我的登录 View Controller 推送到我的主视图 Controller (使用 swift)。我知道这是一个糟糕的灵感,但我想让登录体验像 Tinder 一样,您必须通过 fb 登录才能继续进入应用程序。我的大部分应用程序已经完成,但这个登录问题一直是一个巨大的障碍。在此先感谢您的帮助。

最佳答案

我们在我们的应用程序中执行此操作的一种方法是在我们的 AppDelegate 中加载 MainViewController

此 View Controller 始终存在于导航堆栈中,它是 Root View Controller 。

MainViewController 中,我们检查 Facebook session 是否存在。

如果存在,则推送普通的LandingPageViewController,否则,如果不存在,则推送LoginViewController

如果您使用的是不是 View Controller 的独立单例,要通过 Facebook 进行身份验证,您可以发布一个通知,您应该在 MainViewController 中观察到这一点。

收到此通知后,您可以执行推送 View Controller 操作。

注意事项

下面的伪代码是在 Objective C 中,但您可以按照 Swift 进行操作。

应用委托(delegate)

#import "MainViewController.h"

-(void)didFinishLaunchingWithOptions....
{
    // pseudo-code

    MainViewController *mainVC = [[MainViewController alloc] init];

    [self.navigationController pushViewController:mainVC];
}

主视图 Controller .m

-(void)viewDidLoad
{
    [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(fbLoginSuccess) name:@"notifLogin" object:nil];

    // check if logged into FB Session
    if(FBSession exists...)
    {
        LandingPageViewController *landingVC = [[LandingPageViewController alloc] init];

        [self.navigationController pushViewController:landingVC];
    }
    else
    {
        LoginViewController *loginVC = [[LoginViewController alloc] init];

        [self.navigationController pushViewController:loginVC];
    }
}

// callback method for facebook success
-(void)fbLoginSuccess
{
    // push view controller here
    LandingPageViewController *landingVC = [[LandingPageViewController alloc] init];

    [self.navigationController pushViewController:landingVC];
}

关于ios - 通过 Facebook 登录确认传递 View Controller ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28640969/

相关文章:

android - 如何使用Graph API获取用户好友的个人资料ID

ios - Gigya Facebook 登录 : completion handler not called

ios - 如何在 iOS 中读取 SMS 以及它是否能够通过 SMS 中的链接将字符串传递给应用程序

ios - 移动谷歌地图但不像优步那样移动标记

ios - Objective-C 索引数组

iphone - 使用 HTML 页面上的按钮调用 xcode IBAction

ios - 在这种情况下,“索引”对于类型查找来说不明确

ios - 如何在 SWIFT 中设置捏合手势识别器的最小值和最大值?

ios - watchKit 中未定义的体系结构符号

ios - Facebook 无法检索 iPhone 商店 ID