【问题标题】:Facebook iOS Swift SDK: Not getting callbackFacebook iOS Swift SDK:没有得到回调
【发布时间】:2016-09-26 23:27:54
【问题描述】:

我正在使用 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.)"

【问题讨论】:

标签: ios swift xcode facebook facebook-ios-sdk


【解决方案1】:

原来我错过了处理 url 打开的 AppDelegate 部分:

func application(_ application: UIApplication, open url: URL, sourceApplication: String?, annotation: Any) -> Bool {
  return SDKApplicationDelegate.shared.application(application,
                                                   open: url,
                                                   sourceApplication: sourceApplication,
                                                   annotation: annotation)
}

【讨论】:

    【解决方案2】:

    您必须允许 iOS10 的 Key-Chain 共享:https://stackoverflow.com/a/39568942/3463712

    您必须在 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)
    

    【讨论】:

    • 不幸的是,没有改变任何东西——只是从头开始创建了一个新的工作区,它产生了相同的结果。客户端已通过身份验证(再次点击时显示“您已登录”但不会引发回调。
    猜你喜欢
    • 1970-01-01
    • 2011-09-27
    • 2011-12-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多