我正在尝试使用Facebook登录,但登录成功,但没有返回到应用程序

什卡·沙尔玛(Shikha Sharma)

此后,我无法返回到应用程序(如下图所示),并且无法检索任何用户的数据。

我已经搜索过,但没有对我的查询有任何合适的答案。

日志的图片:

在此处输入图片说明

最终如下面的图片所示,不返回应用,并且没有用户数据:

在此处输入图片说明

Sanjeet Verma
Step-1. Download latest Facebook SDK (it includes major changes).

Step-2. Add FBSDKCoreKit.framework and FBSDKLoginKit.framework to 
        your project.

Step-3. Now go to Project > Build Phases > add 
        SafariServices.framework

Step-4. There are three changes in info.plist we need to verify.

4.1 Make sure you have below in your info.plist file



 <key>CFBundleURLTypes</key>
<array>
  <dict>
  <key>CFBundleURLSchemes</key>
  <array>
    <string><your fb id here eg. fbxxxxxx></string>
  </array>
  </dict>
</array>
  <key>FacebookAppID</key>
  <string><your FacebookAppID></string>
  <key>FacebookDisplayName</key>
<string><Your_App_Name_Here></string>

4.2 Now add below for White-list Facebook Servers, this is must for     iOS 9

    <key>NSAppTransportSecurity</key>
<dict>
  <key>NSExceptionDomains</key>
  <dict>
    <key>facebook.com</key>
    <dict>
      <key>NSIncludesSubdomains</key>
      <true/>
      <key>NSExceptionRequiresForwardSecrecy</key>
      <false/>
    </dict>
    <key>fbcdn.net</key>
    <dict>
      <key>NSIncludesSubdomains</key>
      <true/>
      <key>NSExceptionRequiresForwardSecrecy</key>
      <false/>
    </dict>
    <key>akamaihd.net</key>
    <dict>
      <key>NSIncludesSubdomains</key>
      <true/>
      <key>NSExceptionRequiresForwardSecrecy</key>
      <false/>
    </dict>
  </dict>
</dict>

4.3 Add URL schemes
    <key>LSApplicationQueriesSchemes</key>
  <array>
      <string>fbapi</string>
      <string>fb-messenger-api</string>
      <string>fbauth2</string>
      <string>fbshareextension</string>
  </array>
Step-5. Now open AppDelegate.m file

5.1 Add below import statements

#import <FBSDKLoginKit/FBSDKLoginKit.h>
#import <FBSDKCoreKit/FBSDKCoreKit.h>

5.2 update following following methods



 - (BOOL)application:(UIApplication *)application
            openURL:(NSURL *)url
  sourceApplication:(NSString *)sourceApplication
         annotation:(id)annotation {
  return [[FBSDKApplicationDelegate sharedInstance] application:application
                                                         openURL:url
                                               sourceApplication:sourceApplication
                                                      annotation:annotation];
}

- (void)applicationDidBecomeActive:(UIApplication *)application {
  [FBSDKAppEvents activateApp];
}

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
  return [[FBSDKApplicationDelegate sharedInstance] application:application
                                    didFinishLaunchingWithOptions:launchOptions];
}

Step-6. Now we need to modify our Login Controller, where we do Login task

6.1 Add these imports in Login ViewController.m

#import <FBSDKCoreKit/FBSDKCoreKit.h>
#import <FBSDKLoginKit/FBSDKLoginKit.h>

6.2 Add Facebook Login Button

    FBSDKLoginButton *loginButton = [[FBSDKLoginButton alloc] init];
loginButton.center = self.view.center;
[self.view addSubview:loginButton];

6.3 Handle Login button click



 -(IBAction)facebookLogin:(id)sender
{
    FBSDKLoginManager *login = [[FBSDKLoginManager alloc] init];

    if ([FBSDKAccessToken currentAccessToken])
    {
        NSLog(@"Token is available : %@",[[FBSDKAccessToken currentAccessToken]tokenString]);
        [self fetchUserInfo];
    }
    else
    {
        [login logInWithReadPermissions:@[@"email"] fromViewController:self handler:^(FBSDKLoginManagerLoginResult *result, NSError *error)
         {
             if (error)
             {
                 NSLog(@"Login process error");
             }
             else if (result.isCancelled)
             {
                 NSLog(@"User cancelled login");
             }
             else
             {
                 NSLog(@"Login Success");

                 if ([result.grantedPermissions containsObject:@"email"])
                 {
                     NSLog(@"result is:%@",result);
                     [self fetchUserInfo];
                 }
                 else
                 {
                     [SVProgressHUD showErrorWithStatus:@"Facebook email permission error"];

                 }
             }
         }];
    }
}
6.4 Get user info (name, email etc.)

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

        [[[FBSDKGraphRequest alloc] initWithGraphPath:@"me" parameters:@{@"fields": @"id, name, email"}]
         startWithCompletionHandler:^(FBSDKGraphRequestConnection *connection, id result, NSError *error) {
             if (!error)
             {
                 NSLog(@"results:%@",result);

                 NSString *email = [result objectForKey:@"email"];
                 NSString *userId = [result objectForKey:@"id"];

                 if (email.length >0 )
                 {
                     //Start you app Todo
                 }
                 else
                 {
                    NSLog(@“Facebook email is not verified");
                 }
             }
             else
             {
                 NSLog(@"Error %@",error);
            }
         }];
    }
}

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何根据登录信息(即登录成功或注销后)动态更改“应用程序”的“标题”?

来自分类Dev

当我尝试登录我的应用程序时,Facebook登录按钮才加载

来自分类Dev

使用Facebook凭据登录我的应用程序

来自分类Dev

如何在我的应用程序中使用 Facebook 登录

来自分类Dev

我正在创建一个简单的应用程序,在该应用程序中,成功登录后我要从登录页面导航到起始页面

来自分类Dev

如何在我的应用程序中使用 Facebook 登录并在成功登录后移动到下一页/视图控制器?

来自分类Dev

尝试实现Facebook登录时无效的应用程序ID

来自分类Dev

正在审查Facebook登录应用程序,但仅使用默认权限

来自分类Dev

使用facebook登录到我的应用程序:使用Facebook App时出错

来自分类Dev

登录成功后没有收到来自 facebook 的电子邮件,它只给出了名字

来自分类Dev

空域登录成功

来自分类Dev

如何登录成功?

来自分类Dev

谷歌登录重定向到谷歌浏览器不返回到我的应用程序

来自分类Dev

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

来自分类Dev

在没有登录的跨平台应用程序中显示Facebook Feed

来自分类Dev

在我的应用程序中,我正在使用Facebook SDK登录以及它在AVD上的工作,但是在实际设备上不起作用?

来自分类Dev

我的 webview 应用程序无法登录 Facebook?

来自分类Dev

我正在尝试登录 Facebook。成功登录后,我得到一个浏览器弹出窗口:

来自分类Dev

我正在尝试使用路由使用angularjs创建一个简单的登录应用程序,但未处理事件

来自分类Dev

我按下“使用Facebook登录”后,我的应用程序崩溃React-native fbsdk

来自分类Dev

使用 MechanicalSoup 登录成功后,网站在抓取时再次返回登录页面?

来自分类Dev

如何检查我的Web应用程序的用户是否尝试使用其他凭据登录?

来自分类Dev

如何检查我的Web应用程序的用户是否尝试使用其他凭据登录?

来自分类Dev

如何使用Facebook凭据登录到我的本机移动Web应用程序

来自分类Dev

无法使用其他用户ID登录我的与Android应用程序的Facebook集成

来自分类Dev

如何在我的Android应用程序中使用Facebook api登录?

来自分类Dev

为什么我的节点应用程序没有登录到终端或Chrome控制台?

来自分类Dev

使用Facebook登录按钮停止应用程序

来自分类Dev

使用Facebook应用程序登录会造成混淆

Related 相关文章

  1. 1

    如何根据登录信息(即登录成功或注销后)动态更改“应用程序”的“标题”?

  2. 2

    当我尝试登录我的应用程序时,Facebook登录按钮才加载

  3. 3

    使用Facebook凭据登录我的应用程序

  4. 4

    如何在我的应用程序中使用 Facebook 登录

  5. 5

    我正在创建一个简单的应用程序,在该应用程序中,成功登录后我要从登录页面导航到起始页面

  6. 6

    如何在我的应用程序中使用 Facebook 登录并在成功登录后移动到下一页/视图控制器?

  7. 7

    尝试实现Facebook登录时无效的应用程序ID

  8. 8

    正在审查Facebook登录应用程序,但仅使用默认权限

  9. 9

    使用facebook登录到我的应用程序:使用Facebook App时出错

  10. 10

    登录成功后没有收到来自 facebook 的电子邮件,它只给出了名字

  11. 11

    空域登录成功

  12. 12

    如何登录成功?

  13. 13

    谷歌登录重定向到谷歌浏览器不返回到我的应用程序

  14. 14

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

  15. 15

    在没有登录的跨平台应用程序中显示Facebook Feed

  16. 16

    在我的应用程序中,我正在使用Facebook SDK登录以及它在AVD上的工作,但是在实际设备上不起作用?

  17. 17

    我的 webview 应用程序无法登录 Facebook?

  18. 18

    我正在尝试登录 Facebook。成功登录后,我得到一个浏览器弹出窗口:

  19. 19

    我正在尝试使用路由使用angularjs创建一个简单的登录应用程序,但未处理事件

  20. 20

    我按下“使用Facebook登录”后,我的应用程序崩溃React-native fbsdk

  21. 21

    使用 MechanicalSoup 登录成功后,网站在抓取时再次返回登录页面?

  22. 22

    如何检查我的Web应用程序的用户是否尝试使用其他凭据登录?

  23. 23

    如何检查我的Web应用程序的用户是否尝试使用其他凭据登录?

  24. 24

    如何使用Facebook凭据登录到我的本机移动Web应用程序

  25. 25

    无法使用其他用户ID登录我的与Android应用程序的Facebook集成

  26. 26

    如何在我的Android应用程序中使用Facebook api登录?

  27. 27

    为什么我的节点应用程序没有登录到终端或Chrome控制台?

  28. 28

    使用Facebook登录按钮停止应用程序

  29. 29

    使用Facebook应用程序登录会造成混淆

热门标签

归档