Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/121.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在ios应用程序中使用facebook应用程序登录可在safari中显示选项;使用Facebook应用程序登录;而且它在ios 10.1中不起作用_Ios_Iphone_Facebook_Facebook Login_Ios10 - Fatal编程技术网

在ios应用程序中使用facebook应用程序登录可在safari中显示选项;使用Facebook应用程序登录;而且它在ios 10.1中不起作用

在ios应用程序中使用facebook应用程序登录可在safari中显示选项;使用Facebook应用程序登录;而且它在ios 10.1中不起作用,ios,iphone,facebook,facebook-login,ios10,Ios,Iphone,Facebook,Facebook Login,Ios10,在我的应用程序中,我使用带有Facebook选项的登录。我将Facebook SDK行为设置为“FBSDKLoginBehaviorNative” 当我尝试使用facebook登录时,ios 10.1中会显示两个选项“使用facebook应用程序登录”或“使用电话或电子邮件登录”。在ios 9中,它直接向我显示登录页面,我必须在其中输入电子邮件/密码 但在ios 10.1中,它显示了以上两个选项,当我点击“使用Facebook应用程序登录”时,它会显示“在Facebook中打开”对话框,点击“打

在我的应用程序中,我使用带有Facebook选项的登录。我将Facebook SDK行为设置为“FBSDKLoginBehaviorNative”

当我尝试使用facebook登录时,ios 10.1中会显示两个选项“使用facebook应用程序登录”或“使用电话或电子邮件登录”。在ios 9中,它直接向我显示登录页面,我必须在其中输入电子邮件/密码

但在ios 10.1中,它显示了以上两个选项,当我点击“使用Facebook应用程序登录”时,它会显示“在Facebook中打开”对话框,点击“打开”按钮,它会授权我的应用程序,现在它必须返回到我的应用程序,但它会停留在Safari view controller中,在这里有两个登录选项,永远不会返回到我的应用程序


在我的应用程序中,由于salesforce sdk安全选项,当应用程序转到facebook应用程序进行授权时,会取消facebook登录。 我禁用snapshotview,facebook登录正常

[SalesforceSDKManager sharedManager].useSnapshotView = NO;

因此,这不是facebook的问题,而是第三方sdk的问题。

从iOS 11开始,我的应用内facebook登录也会转到facebook.com页面,而不是设备应用。根据下面的修复,FB似乎只是更改了默认行为。将按钮设置为系统为我修复了它

self.fbloginButton.loginBehavior = FBSDKLoginBehaviorSystemAccount;

将应用程序切换回快速应用程序切换

屏幕现在也显示在我的iOS 9设备上。其行为与从Facebook应用程序导航回来后留在该视图控制器中的行为相同,并且未调用委托方法。有人能帮我们吗?我找到了它不起作用的原因。这是因为使用“使用Facebook应用程序登录”选项返回的url方案与使用“使用电话或电子邮件登录”选项返回的url方案不同。一个使用小写后缀,另一个使用我的程序以前没有处理过的大写后缀。修复后缀修复了这个问题。@user3216945您能否提供一个答案,说明您更改了什么,因为我有相同的问题。我也有相同的问题。当对话框退出时,它调用“urlscheme”再次启动应用程序。它会浏览Facebook开发者网站的iOS应用程序设置中定义的列表url方案。发生的事情是,我在那里定义了错误的url方案,所以它不知道如何再次启动我的应用程序。我没有使用SalesForce,我也有同样的问题,所以这个问题与第三方sdkHey Marco Pappalardo无关,在我的应用程序SalesForce创建问题中,我修复了它。我明确提到,任何第三方sdk都可能导致此问题。这很好,但此问题的存在还有其他原因,我不认为接受此答案将有助于社区,了解Facebook SDK中的根本原因是什么会很有趣,这样人们就可以用这个问题来解决不同的问题。如果你在Facebook SDK中找到了根本原因,请告诉我,我现在有一个类似的问题,如果我解决了,我会更新:)非常感谢
     func application(_ app: UIApplication, open url: URL, options: [UIApplication.OpenURLOptionsKey : Any] = [:]) -> Bool {

     /*

      for facebook login

    */ 

            if #available(iOS 9.0 , *){
                return ApplicationDelegate.shared.application(app, open: url, sourceApplication: options[UIApplication.OpenURLOptionsKey.sourceApplication] as? String, annotation: options[UIApplication.OpenURLOptionsKey.annotation])

            }

      /*

       for google signin

     */
            return GIDSignIn.sharedInstance().handle(url as URL?,
                                                     sourceApplication: options[UIApplication.OpenURLOptionsKey.sourceApplication] as? String,
                                                     annotation: options[UIApplication.OpenURLOptionsKey.annotation])
        }