如何制作登录流程IOS应用

亚历山德罗·加塞兹(Alessandro Garcez)

我使用Facebook SDK在我的应用程序中通过Facebook登录。基本上,我有一个登录屏幕,当用户单击“ Facebook”按钮时,它将进行整个身份验证例程(打开野生动物园并请求接受许可)。在接受对应用程序的访问后未登录用户时,它将转到另一个视图(应用程序的主屏幕)。

问题是当用户已经登录时...我想在主屏幕中打开应用程序而没有显示登录视图。

我正在验证用户是否是viewDidAppear的LoginController中的记录器,并调用performSegueWithIdentifier方法,因为在viewDidLoad中它不起作用。

哪个是登录屏幕的最佳方法?

class LoginViewController: UIViewController{

    let defaults: NSUserDefaults = NSUserDefaults.standardUserDefaults()

    override func viewDidLoad() {

    }

    override func viewDidAppear(animated: Bool) {

        print("Will Appear method")

        if (self.defaults.stringForKey("isLogged") != nil){
            self.performSegueWithIdentifier("facebookLoginSegue", sender: nil)
        }

    }

    //MARK - Actions
    @IBAction func facebookLogin(sender: UIButton) {

        FBSDKLoginManager().logInWithReadPermissions(["public_profile", "email", "user_friends"], fromViewController:self, handler: { (result:FBSDKLoginManagerLoginResult!, error:NSError!) -> Void in
            if (error == nil){
                let fbloginresult : FBSDKLoginManagerLoginResult = result
                if(fbloginresult.grantedPermissions.contains("email")){
                    self.defaults.setBool(true, forKey: "isLogged")
                    self.getFBUserData()
                }
            }
        })
    }

    func getFBUserData(){
        if((FBSDKAccessToken.currentAccessToken()) != nil){
            FBSDKGraphRequest(graphPath: "me", parameters: ["fields": "id, name, first_name, last_name, picture.type(large), email"]).startWithCompletionHandler({ (connection, result, error) -> Void in
                if (error == nil){
                    print(result)
                }
            })
        }
    }

}

我考虑过在AppDelegate中验证用户“会话”并更改情节提要的rootViewController。这是一个好习惯还是一个疯狂的主意?

有人能帮我吗?

亚历山德罗·加塞兹(Alessandro Garcez)

我找到了一个方法:

首先将主屏幕设置为情节提要中的根视图

在此处输入图片说明

第二步是验证用户是否已登录AppDelegate。如果未登录用户,请显示将根视图控制器更改为登录视图。

func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool {

        if (self.defaults.stringForKey("isLogged") == nil){
            let storyboard = UIStoryboard(name: "Main", bundle: nil)
            let initialViewController = storyboard.instantiateViewControllerWithIdentifier("LoginViewController") 
            self.window?.rootViewController = initialViewController
            self.window?.makeKeyAndVisible()
        }

        return FBSDKApplicationDelegate.sharedInstance().application(application, didFinishLaunchingWithOptions: launchOptions)

    }

最后,将登录视图中的segue添加到具有特定标识符的主视图中……当用户成功登录调用self.performSegueWithIdentifier(“ segueIdentifier”,发送者:nil)

if (self.defaults.stringForKey("isLogged") != nil){
            self.performSegueWithIdentifier("facebookLoginSegue", sender: nil)
        }

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

iOS应用登录网站

来自分类Dev

如何上传Xcode 6中制作的iOS应用

来自分类Dev

如何上传Xcode 6中制作的iOS应用

来自分类Dev

如何为iOS应用程序制作重置按钮?

来自分类Dev

如何制作安全的登录脚本

来自分类Dev

如何制作 JavaScript 登录表单?

来自分类Dev

如何处理HTTP登录流程/逻辑

来自分类Dev

从Expo Pro裸露工作流程构建iOS应用程序时如何解决错误

来自分类Dev

从Android应用开始制作IOS应用

来自分类Dev

在iOS应用中登录Facebook

来自分类Dev

如何制作可在Xcode 5.0上的iOS 4.3上运行的iOS应用

来自分类Dev

如何为该登录屏幕制作支架?

来自分类Dev

如何制作基于文件的用户登录页面

来自分类Dev

如何在 Android 中制作登录系统?

来自分类Dev

如何制作透明的应用栏?

来自分类Dev

如何在TFS 2013中制作流程模板的副本?

来自分类Dev

如何为 lambda 或 java8 制作流程图?

来自分类Dev

如何测试Mule应用程序流程?

来自分类Dev

如何在iOS中为应用程序图标制作动画?

来自分类Dev

如何部署使用XCODE 6-beta和TestFlight制作的Swift iOS应用

来自分类Dev

如何仅使用音频编解码器制作iOS VOIP / SIP应用程序

来自分类Dev

如何制作将用户带到iOS中的Facebook应用程序的操作按钮?

来自分类Dev

如何制作像iOS应用程序的Twitter个人资料这样的水平tableview

来自分类Dev

如何用语音讲座制作我的iOS测验应用程序

来自分类Dev

如何在iOS应用程序中制作侧边栏菜单?

来自分类Dev

如何制作谷歌地图片段并直接从iOS应用程序移至谷歌地图?

来自分类Dev

制作企业iOS应用的安装链接

来自分类Dev

使用Ionic AngularJS程序制作iOS应用

来自分类Dev

我在ios应用中实现了Google登录。现在,如何验证用户是否已登录,如果没有登录,请使用Swift将其返回登录页面?

Related 相关文章

  1. 1

    iOS应用登录网站

  2. 2

    如何上传Xcode 6中制作的iOS应用

  3. 3

    如何上传Xcode 6中制作的iOS应用

  4. 4

    如何为iOS应用程序制作重置按钮?

  5. 5

    如何制作安全的登录脚本

  6. 6

    如何制作 JavaScript 登录表单?

  7. 7

    如何处理HTTP登录流程/逻辑

  8. 8

    从Expo Pro裸露工作流程构建iOS应用程序时如何解决错误

  9. 9

    从Android应用开始制作IOS应用

  10. 10

    在iOS应用中登录Facebook

  11. 11

    如何制作可在Xcode 5.0上的iOS 4.3上运行的iOS应用

  12. 12

    如何为该登录屏幕制作支架?

  13. 13

    如何制作基于文件的用户登录页面

  14. 14

    如何在 Android 中制作登录系统?

  15. 15

    如何制作透明的应用栏?

  16. 16

    如何在TFS 2013中制作流程模板的副本?

  17. 17

    如何为 lambda 或 java8 制作流程图?

  18. 18

    如何测试Mule应用程序流程?

  19. 19

    如何在iOS中为应用程序图标制作动画?

  20. 20

    如何部署使用XCODE 6-beta和TestFlight制作的Swift iOS应用

  21. 21

    如何仅使用音频编解码器制作iOS VOIP / SIP应用程序

  22. 22

    如何制作将用户带到iOS中的Facebook应用程序的操作按钮?

  23. 23

    如何制作像iOS应用程序的Twitter个人资料这样的水平tableview

  24. 24

    如何用语音讲座制作我的iOS测验应用程序

  25. 25

    如何在iOS应用程序中制作侧边栏菜单?

  26. 26

    如何制作谷歌地图片段并直接从iOS应用程序移至谷歌地图?

  27. 27

    制作企业iOS应用的安装链接

  28. 28

    使用Ionic AngularJS程序制作iOS应用

  29. 29

    我在ios应用中实现了Google登录。现在,如何验证用户是否已登录,如果没有登录,请使用Swift将其返回登录页面?

热门标签

归档