Ios Swift Facebook SDK登录后的空白页
在使用以下环境时,我无法解析Facebook登录组件: Xcode 8中的Swift 3.0 用于Swift的Facebook SDK(0.2.0) 在iOS 10上运行 我已经按照所有必需的步骤进行了操作(和),甚至这里没有提到的步骤,例如添加默认的AppDelegate方法,如下所示:Ios Swift Facebook SDK登录后的空白页,ios,swift,facebook,Ios,Swift,Facebook,在使用以下环境时,我无法解析Facebook登录组件: Xcode 8中的Swift 3.0 用于Swift的Facebook SDK(0.2.0) 在iOS 10上运行 我已经按照所有必需的步骤进行了操作(和),甚至这里没有提到的步骤,例如添加默认的AppDelegate方法,如下所示: func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicati
func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool {
FacebookCore.SDKApplicationDelegate.shared.application(application, didFinishLaunchingWithOptions: [
.sourceApplication: application,
])
return true
}
private func application(app: UIApplication, openURL url: URL, options: [UIApplicationOpenURLOptionsKey : Any]) -> Bool {
return FacebookCore.SDKApplicationDelegate.shared.application(app, open: url, options: [
.sourceApplication: app,
])
}
@available(iOS 9.0, *)
private func application(application: UIApplication, openURL url: URL, sourceApplication: String?, annotation: AnyObject) -> Bool {
return FacebookCore.SDKApplicationDelegate.shared.application(application, open: url, sourceApplication: sourceApplication, annotation: annotation)
}
至于Info.plist的内容,关于Facebook部分,我假设我已经拥有了所有必需的标签,甚至还有一些似乎有助于解决问题的其他标签,在下面的一些问题中可以找到:
<key>CFBundleURLTypes</key>
<array>
<dict>
<key>CFBundleURLSchemes</key>
<array>
<string>fb1619016601757957</string>
</array>
</dict>
</array>
<key>FacebookAppID</key>
<string>1619016601757957</string>
<key>FacebookDisplayName</key>
<string>Nossa Cidade</string>
<key>LSApplicationQueriesSchemes</key>
<array>
<string>fbapi</string>
<string>fb-messenger-api</string>
<string>fbauth2</string>
<string>fbshareextension</string>
</array>
<key>NSAppTransportSecurity</key>
<dict>
<key>NSExceptionDomains</key>
<dict>
<key>facebook.com</key>
<dict>
<key>NSIncludesSubdomains</key>
<true/>
<key>NSExceptionRequiresForwardSecrecy</key>
<true/>
</dict>
<key>fbcdn.net</key>
<dict>
<key>NSIncludesSubdomains</key>
<true/>
<key>NSExceptionRequiresForwardSecrecy</key>
<true/>
</dict>
<key>akamaihd.net</key>
<dict>
<key>NSIncludesSubdomains</key>
<true/>
<key>NSExceptionRequiresForwardSecrecy</key>
<true/>
</dict>
</dict>
</dict>
我已经经历了很多SO问题,Github问题,有些开发人员遇到了和我一样的情况,对于这个错误的可能结果没有任何具体的回应。最后发生的事情是,我得到了一个大肥肉登录结果。取消回调,不是我想要的
与此相关的控制台输出为:
-canOpenURL: failed for URL: "fbauth2:/" - error: "The operation couldn’t be completed. (OSStatus error -10814.)"
任何帮助都将不胜感激。谢谢大家! 我也遇到了类似的问题,这是由于我的应用程序中AppDelegate中的方法在登录完成后没有被Facebook调用造成的 基于此,我认为您需要更改AppDelegate中的方法,如下所示:
import FacebookCore
func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool {
...
return FacebookCore.SDKApplicationDelegate.shared.application(application, didFinishLaunchingWithOptions: launchOptions)
}
func application(_ app: UIApplication, open url: URL, options: [UIApplicationOpenURLOptionsKey : Any] = [:]) -> Bool {
return FacebookCore.SDKApplicationDelegate.shared.application(app, open: url, options: options)
}
在做了这个改变之后,我发现Facebook在登录后切换回了我的应用程序,并且没有挂在白色屏幕上 结果发现appDelegate中的函数签名不匹配。复制时要小心,我猜参数名被省略了,即(uu某物),并且没有被调用。我知道它是通用的,但那是很久以前的事了。无论如何谢谢你!
import FacebookCore
func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool {
...
return FacebookCore.SDKApplicationDelegate.shared.application(application, didFinishLaunchingWithOptions: launchOptions)
}
func application(_ app: UIApplication, open url: URL, options: [UIApplicationOpenURLOptionsKey : Any] = [:]) -> Bool {
return FacebookCore.SDKApplicationDelegate.shared.application(app, open: url, options: options)
}