Ios 解析API-Facebook登录在iPhone设备上不起作用
当我点击“使用Facebook登录”按钮时,在IOS模拟器上,它工作正常。获取PFUser对象。然后,如果我在iPhone设备上运行相同的代码,将PFUser对象获取为null。没有错误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
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的最新版本并导入。