FBSDKLoginManager无法在本机ios应用程序中打开登录对话框

Hiren kanetiya

我是新iPhone的发展,我想使用最新的Facebook SDK 4.一些我的家乡的iOS简单的应用程序做一个Facebook登录,我只是想打开一个网站登录对话框从自定义UIButton点击,我的应用程序,并为我做以下我的按钮单击方法中的代码。

- (IBAction)didTapLoginFaceBook:(id)sender {

    FBSDKLoginManager *login = [[FBSDKLoginManager alloc] init];
    [login logInWithReadPermissions:@[@"email"] handler:^(FBSDKLoginManagerLoginResult *result, NSError *error) {
        if (error) {
            // Process error

        NSLog(@"Unexpected login error: %@", error);
        NSString *alertMessage = error.userInfo[FBSDKErrorLocalizedDescriptionKey] ?: @"There was a problem logging in. Please try again later.";
        NSString *alertTitle = error.userInfo[FBSDKErrorLocalizedTitleKey] ?: @"Oops";
        [[[UIAlertView alloc] initWithTitle:alertTitle
                                        message:alertMessage
                                       delegate:nil
                              cancelButtonTitle:@"OK"
                              otherButtonTitles:nil] show];


        } else if (result.isCancelled) {
            // Handle cancellations
        } else {
            // If you ask for multiple permissions at once, you
            // should check if specific permissions missing
            if ([result.grantedPermissions containsObject:@"email"]) {
                // Do work
            }
        }
    }];


}

这段代码的工作方式有所不同,但是我想UIButton在本机iOS应用程序中打开“自定义单击”的登录对话框

因此,请通过一些代码提出正确的建议,谢谢

阿什什·卡卡德(Ashish kakkad)

使用Objective-C中的自定义按钮的Facebook登录4.x

- (IBAction)btnFacebookPressed:(id)sender {
    FBSDKLoginManager *login = [[FBSDKLoginManager alloc] init];
    login.loginBehavior = FBSDKLoginBehaviorBrowser;
    [login logInWithReadPermissions:@[@"email"] handler:^(FBSDKLoginManagerLoginResult *result, NSError *error)
     {
         if (error)
         {
             // Process error
         }
         else if (result.isCancelled)
         {
             // Handle cancellations
         }
         else
         {
             if ([result.grantedPermissions containsObject:@"email"])
             {
                 NSLog(@"result is:%@",result);
                 [self fetchUserInfo];
                 [login logOut];
             }
         }
     }];
}

- (void)fetchUserInfo {
    if ([FBSDKAccessToken currentAccessToken])
    {
        NSLog(@"Token is available : %@",[[FBSDKAccessToken currentAccessToken]tokenString]);

        [[[FBSDKGraphRequest alloc] initWithGraphPath:@"me" parameters:@{@"fields": @"id, name, link, first_name, last_name, picture.type(large), email, birthday, bio ,location , friends ,hometown , friendlists"}]
         startWithCompletionHandler:^(FBSDKGraphRequestConnection *connection, id result, NSError *error) {
             if (!error)
             {
                 NSLog(@"resultis:%@",result);

             }
             else
             {
                 NSLog(@"Error %@",error);
             }
         }];
    }
}

使用Swift中的自定义按钮的Facebook登录4.x

@IBAction func btnFacebookPressed(_ sender: Any) {

    let loginManager = FBSDKLoginManager()
    loginManager.loginBehavior = FBSDKLoginBehavior.browser;

    loginManager.logIn(withReadPermissions: ["email"], from: self, handler: {(result : FBSDKLoginManagerLoginResult?, error : Error?) -> Void in
        if error != nil {
            // Process error
        }
        else if (result?.isCancelled)! {
            // Handle cancellations
        }
        else if (result?.grantedPermissions.contains("email"))! {
            print("result is: \(result)");
            self.fetchUserInfo()
            loginManager.logOut()
        }
    })
}


func fetchUserInfo() {
    if let accessToken = FBSDKAccessToken.current()?.tokenString {
        print("Token is available : \(accessToken)")

        FBSDKGraphRequest(graphPath: "me", parameters: ["fields": "id, name, link, first_name, last_name, picture.type(large), email, birthday, bio ,location , friends ,hometown , friendlists"]).start(completionHandler: { (connection : FBSDKGraphRequestConnection?, result : Any?, error : Error?) in

            if let error = error {
                print("Error \(error)")
            }
            else if let result  = result {
                print("result:\(result)")
            }
        })
    }
}

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

在应用程序本机共享对话框和iOS中的Google+登录中

来自分类Dev

如果安装本机应用程序,则使用Facebook最新的SDK登录,然后在Android中未打开对话框

来自分类Dev

Chocolatey无法安装应用程序,“您如何打开此文件?” 而是打开对话框

来自分类Dev

无法在Visual Studio 2015(ASP.NET 5 Web应用程序)中打开发布对话框

来自分类Dev

Windows 8应用程序的“打开文件”对话框

来自分类Dev

通过外部应用程序打开松弛对话框

来自分类Dev

如何从终端打开“运行应用程序”对话框?

来自分类Dev

Facebook显示登录对话框而不是应用程序请求对话框

来自分类Dev

注册应用以从Safari的“共享”或“在...中打开”对话框打开无法正常工作。(尽管可以从其他应用程序使用)

来自分类Dev

注册应用以从Safari的“共享”或“在...中打开”对话框打开无法正常工作。(尽管可以从其他应用程序使用)

来自分类Dev

如何在不打开Safari或任何其他浏览器的情况下在我的应用程序中起诉Facebook SDK登录对话框?

来自分类Dev

基于 MFC 对话框的应用程序无法两次调用对话框

来自分类Dev

适用于iOS的Google Plus API:共享功能-触摸本机对话框共享中的“公共”时崩溃的应用程序?

来自分类Dev

通过macOS本机应用程序中的SwiftUI WKWebView调用时,如何使文件打开对话框起作用?

来自分类Dev

无法在应用程序中更改对话框的颜色

来自分类Dev

即使已在设备中安装,Facebook本机登录也无法打开Facebook应用程序?

来自分类Dev

使用 OAuth2 和 Google 和 Safari 的 iOS 应用程序显示打开页面对话框

来自分类Dev

在关闭对话框后再次打开对话框时,应用程序崩溃并给出“ java.lang.IllegalStateException”

来自分类Dev

登录Android应用程序时,Facebook进度对话框微调框

来自分类Dev

如何打开“打开方式”对话框(Windows Store应用程序)?

来自分类Dev

打开对话框不会打开相机应用程序

来自分类Dev

如何在Linux上的Java应用程序的“打开文件”对话框中显示隐藏文件(。*)?

来自分类Dev

在“选择应用程序”对话框列表中显示应用程序

来自分类Dev

用于Angular应用程序登录/注册的模式/对话框

来自分类Dev

没有本地应用程序或对话框的Android Facebook登录

来自分类Dev

ajax 调用在 Web 应用程序项目中引发意外的登录对话框

来自分类Dev

首次启动应用程序时,对话框窗口将打开

来自分类Dev

通过Web应用程序打开移动设备共享对话框

来自分类Dev

如何在无需打开应用程序的情况下显示对话框

Related 相关文章

  1. 1

    在应用程序本机共享对话框和iOS中的Google+登录中

  2. 2

    如果安装本机应用程序,则使用Facebook最新的SDK登录,然后在Android中未打开对话框

  3. 3

    Chocolatey无法安装应用程序,“您如何打开此文件?” 而是打开对话框

  4. 4

    无法在Visual Studio 2015(ASP.NET 5 Web应用程序)中打开发布对话框

  5. 5

    Windows 8应用程序的“打开文件”对话框

  6. 6

    通过外部应用程序打开松弛对话框

  7. 7

    如何从终端打开“运行应用程序”对话框?

  8. 8

    Facebook显示登录对话框而不是应用程序请求对话框

  9. 9

    注册应用以从Safari的“共享”或“在...中打开”对话框打开无法正常工作。(尽管可以从其他应用程序使用)

  10. 10

    注册应用以从Safari的“共享”或“在...中打开”对话框打开无法正常工作。(尽管可以从其他应用程序使用)

  11. 11

    如何在不打开Safari或任何其他浏览器的情况下在我的应用程序中起诉Facebook SDK登录对话框?

  12. 12

    基于 MFC 对话框的应用程序无法两次调用对话框

  13. 13

    适用于iOS的Google Plus API:共享功能-触摸本机对话框共享中的“公共”时崩溃的应用程序?

  14. 14

    通过macOS本机应用程序中的SwiftUI WKWebView调用时,如何使文件打开对话框起作用?

  15. 15

    无法在应用程序中更改对话框的颜色

  16. 16

    即使已在设备中安装,Facebook本机登录也无法打开Facebook应用程序?

  17. 17

    使用 OAuth2 和 Google 和 Safari 的 iOS 应用程序显示打开页面对话框

  18. 18

    在关闭对话框后再次打开对话框时,应用程序崩溃并给出“ java.lang.IllegalStateException”

  19. 19

    登录Android应用程序时,Facebook进度对话框微调框

  20. 20

    如何打开“打开方式”对话框(Windows Store应用程序)?

  21. 21

    打开对话框不会打开相机应用程序

  22. 22

    如何在Linux上的Java应用程序的“打开文件”对话框中显示隐藏文件(。*)?

  23. 23

    在“选择应用程序”对话框列表中显示应用程序

  24. 24

    用于Angular应用程序登录/注册的模式/对话框

  25. 25

    没有本地应用程序或对话框的Android Facebook登录

  26. 26

    ajax 调用在 Web 应用程序项目中引发意外的登录对话框

  27. 27

    首次启动应用程序时,对话框窗口将打开

  28. 28

    通过Web应用程序打开移动设备共享对话框

  29. 29

    如何在无需打开应用程序的情况下显示对话框

热门标签

归档