Facebook iOS Swift SDK:未收到回调
Facebook iOS Swift SDK: Not getting callback
我正在使用 facebook 入门指南创建一个简单的 facebook 登录。 (https://developers.facebook.com/docs/swift/login)
每当我点击按钮时,它都会打开 facebook 登录视图,让我登录,但之后不会触发回调。视图只是保持打开和白色。
let loginButton = LoginButton(readPermissions: [ .publicProfile ])
loginButton.center = view.center
view.addSubview(loginButton)
我在控制台中得到的所有信息如下,如果有帮助的话:
2016-09-27 01:14:41.294 app[48118:6370539] -canOpenURL: failed for URL: "fbauth2:/" - error: "The operation couldn’t be completed. (OSStatus error -10814.)"
您必须允许 iOS10 的钥匙链共享:
并且您必须在 info.plist 文件中添加以下代码
<key>NSAppTransportSecurity</key>
<dict>
<!--Include to allow all connections (DANGER)-->
<key>NSAllowsArbitraryLoads</key>
<true/>
</dict>
还有
<key>LSApplicationQueriesSchemes</key>
<array>
<string>fbapi</string>
<string>fb-messenger-api</string>
<string>fbauth2</string>
<string>fbshareextension</string>
</array>
<!--You need only fbauth2, other parameters are reference for more functionality of Facebook-->
这样做,如果您的问题解决了,请告诉我。谢谢。
编辑:
可能是您的登录按钮有问题。
下面的代码对我来说工作正常。
let loginbtn = FBSDKLoginButton()
loginbtn.center = view.center
loginbtn.readPermissions = ["public_profile"];
self.view.addSubview(loginbtn)
原来我缺少要处理的 AppDelegate 部分 url 打开:
func application(_ application: UIApplication, open url: URL, sourceApplication: String?, annotation: Any) -> Bool {
return SDKApplicationDelegate.shared.application(application,
open: url,
sourceApplication: sourceApplication,
annotation: annotation)
}
我正在使用 facebook 入门指南创建一个简单的 facebook 登录。 (https://developers.facebook.com/docs/swift/login)
每当我点击按钮时,它都会打开 facebook 登录视图,让我登录,但之后不会触发回调。视图只是保持打开和白色。
let loginButton = LoginButton(readPermissions: [ .publicProfile ])
loginButton.center = view.center
view.addSubview(loginButton)
我在控制台中得到的所有信息如下,如果有帮助的话:
2016-09-27 01:14:41.294 app[48118:6370539] -canOpenURL: failed for URL: "fbauth2:/" - error: "The operation couldn’t be completed. (OSStatus error -10814.)"
您必须允许 iOS10 的钥匙链共享:
并且您必须在 info.plist 文件中添加以下代码
<key>NSAppTransportSecurity</key>
<dict>
<!--Include to allow all connections (DANGER)-->
<key>NSAllowsArbitraryLoads</key>
<true/>
</dict>
还有
<key>LSApplicationQueriesSchemes</key>
<array>
<string>fbapi</string>
<string>fb-messenger-api</string>
<string>fbauth2</string>
<string>fbshareextension</string>
</array>
<!--You need only fbauth2, other parameters are reference for more functionality of Facebook-->
这样做,如果您的问题解决了,请告诉我。谢谢。
编辑: 可能是您的登录按钮有问题。
下面的代码对我来说工作正常。
let loginbtn = FBSDKLoginButton()
loginbtn.center = view.center
loginbtn.readPermissions = ["public_profile"];
self.view.addSubview(loginbtn)
原来我缺少要处理的 AppDelegate 部分 url 打开:
func application(_ application: UIApplication, open url: URL, sourceApplication: String?, annotation: Any) -> Bool {
return SDKApplicationDelegate.shared.application(application,
open: url,
sourceApplication: sourceApplication,
annotation: annotation)
}