Ios 解析API-Facebook登录在iPhone设备上不起作用

Ios 解析API-Facebook登录在iPhone设备上不起作用,ios,iphone,facebook,swift,parse-platform,Ios,Iphone,Facebook,Swift,Parse Platform,当我点击“使用Facebook登录”按钮时,在IOS模拟器上,它工作正常。获取PFUser对象。然后,如果我在iPhone设备上运行相同的代码,将PFUser对象获取为null。没有错误 Code: func loginWithFacebook() { print("login with facebook") let permissions = ["public_profile"] PFFacebookUtils.logInInBackg

当我点击“使用Facebook登录”按钮时,在IOS模拟器上,它工作正常。获取PFUser对象。然后,如果我在iPhone设备上运行相同的代码,将PFUser对象获取为null。没有错误

Code:
 func loginWithFacebook()
    {
        print("login with facebook")
        let permissions = ["public_profile"]
        PFFacebookUtils.logInInBackgroundWithReadPermissions(permissions, block: {
            (user: PFUser?, error: NSError?) -> Void in
            print("################")
            if let error = error {
                print(error)
            } else {
                if let user = user {
                    print(user)
                }
            }

        })
    }
IDE:xcode 7 语言:Swift2 Facebook SDK:4.6.0 解析:1.8.4 设备:iphone5s 我已经核实了。plist拥有所有需要的钥匙。还验证了包标识符是否存在打字错误。看起来都不错。Facebook应用程序处于活动状态


有什么帮助吗?

请查看本指南以解决此问题


这个问题与应用程序传输安全有关。对您的info.plist进行一些更改,您将被设置为:)

在AppDelegate.swift中,我有以下代码:

func application(app: UIApplication, openURL url: NSURL, options: [String : AnyObject]) -> Bool {
        return FBSDKApplicationDelegate.sharedInstance().application(app, openURL: url,  sourceApplication: options["UIApplicationOpenURLOptionsSourceApplicationKey"] as! String,
            annotation: options["UIApplicationOpenURLOptionsOpenInPlaceKey"]!)
    }
 func application(application: UIApplication,
        openURL url: NSURL,
        sourceApplication: String?,
        annotation: AnyObject) -> Bool {
            return FBSDKApplicationDelegate.sharedInstance().application(
                application,
                openURL: url,
                sourceApplication: sourceApplication,
                annotation: annotation)
    }
根据UIApplicationLegate中的注释,我们应该使用application:openURL:options:,但它仍然不起作用

 @available(iOS, introduced=4.2, deprecated=9.0, message="Please use application:openURL:options:")
    optional public func application(application: UIApplication, openURL url: NSURL, sourceApplication: String?, annotation: AnyObject) -> Bool
现在我已更改为以下代码:

func application(app: UIApplication, openURL url: NSURL, options: [String : AnyObject]) -> Bool {
        return FBSDKApplicationDelegate.sharedInstance().application(app, openURL: url,  sourceApplication: options["UIApplicationOpenURLOptionsSourceApplicationKey"] as! String,
            annotation: options["UIApplicationOpenURLOptionsOpenInPlaceKey"]!)
    }
 func application(application: UIApplication,
        openURL url: NSURL,
        sourceApplication: String?,
        annotation: AnyObject) -> Bool {
            return FBSDKApplicationDelegate.sharedInstance().application(
                application,
                openURL: url,
                sourceApplication: sourceApplication,
                annotation: annotation)
    }

然后,它开始在模拟器和iPhone设备上正常工作。

我在.plist文件中有所有条目,我还尝试了关闭应用程序传输安全和打开应用程序传输安全。到目前为止运气不好。我的设备:带有8.4.1 IOS的iPhone 5s。您是否尝试更新Parse和PFFacebookUtils框架@是的。我已经下载了Parse 1.8.4的最新版本并导入。