iOS FBSDK 上的 Facebook 登录
Posted
技术标签:
【中文标题】iOS FBSDK 上的 Facebook 登录【英文标题】:Facebook login on iOS FBSDK 【发布时间】:2015-09-18 16:21:59 【问题描述】:我设置了与 FB 开发者页面相同的所有内容(appId、appName、bundleId...)。我在 FBSDK 4.6 和 ios 9 上工作。我也已经在 info.plist 上添加了这个密钥。
<key>LSApplicationQueriesSchemes</key>
<array>
<string>fbapi</string>
<string>fb-messenger-api</string>
<string>fbauth2</string>
<string>fbshareextension</string>
</array>
但是,在运行时,我收到如下输出错误:
canOpenURL: failed for URL: "fbauth2:///" - error: "(null)"
有人知道发生了什么吗?
【问题讨论】:
【参考方案1】:对于 iOS 9,您可以向 info.plist 添加更多键。
<key>NSAppTransportSecurity</key>
<dict>
<key>NSExceptionDomains</key>
<dict>
<key>facebook.com</key>
<dict>
<key>NSIncludesSubdomains</key> <true/>
<key>NSExceptionRequiresForwardSecrecy</key> <false/>
</dict>
<key>fbcdn.net</key>
<dict>
<key>NSIncludesSubdomains</key> <true/>
<key>NSExceptionRequiresForwardSecrecy</key> <false/>
</dict>
<key>akamaihd.net</key>
<dict>
<key>NSIncludesSubdomains</key> <true/>
<key>NSExceptionRequiresForwardSecrecy</key> <false/>
</dict>
</dict>
</dict>
Facebook getting started
【讨论】:
我已经添加了。如果没有,您将收到来自 fb 开发者页面的文档描述的异常。【参考方案2】:在您的手机上运行该应用程序以在安装了 Facebook 的情况下进行测试。这可能是因为它在模拟器上不起作用或必须安装 facebook。
【讨论】:
啊,我可以在设备上运行,但我当前的设备在 iOS 8 上。我将 FBSDKLoginManager 上的行为更改为浏览器或 Web 或 SystemAccount,但在模拟器上没有任何幸运。【参考方案3】:我会忽略它。
根据他们的常见问题解答,Facebook 承认这一点,并建议您放手,只要您正确设置了他们的 plist 设置
为什么我会看到类似 'canOpenURL: failed for URL: "fb...://' or 的控制台消息?
这是一个 Xcode 警告,指示 canOpenURL: 调用返回 false。只要您如上所述在 plist 中配置了 LSApplicationQueriesSchemes 条目,就可以忽略此警告
来源:https://developers.facebook.com/docs/ios/ios9
【讨论】:
以上是关于iOS FBSDK 上的 Facebook 登录的主要内容,如果未能解决你的问题,请参考以下文章
如何在 fbsdk 登录 React Native 中更改名称应用程序('项目想要使用 facebook.com')iOS