为后期处理设置 Facebook SDK 会导致控制台中出现错误消息
Posted
技术标签:
【中文标题】为后期处理设置 Facebook SDK 会导致控制台中出现错误消息【英文标题】:Setting up Facebook SDK for post processing leads to error messages in console 【发布时间】:2019-06-06 16:31:32 【问题描述】:我对此没有明显的影响,但我正处于项目的最后阶段,并试图留意任何警告。每次在 Xcode 控制台中启动时,在application(_:didFinishLaunchingWithOptions)
下将以下行添加到 App Delegate 时,我都会收到 3 个来自 FB 的警告日志:
FBSDKCoreKit.ApplicationDelegate.shared.application(application, didFinishLaunchingWithOptions: launchOptions)
"...FBSDKLog: FBSDKGraphRequestConnection 无法在 Facebook SDK 初始化之前启动。"
如果我当然删除了这行,那么如果我尝试使用 Facebook 登录,则后处理不会完成并且不会发生登录。那么,健全性检查:我是否应该忽略这些警告?
【问题讨论】:
【参考方案1】:我刚刚遇到了这个警告。就我而言,它不断出现,而不仅仅是在启动时。原因是我在 Info.plist
中配置了这个。
<key>FacebookAutoInitEnabled</key>
<false/>
我通过在用户接受条款和条件后执行此操作来解决此问题:
ApplicationDelegate.initializeSDK(nil)
免责声明:这并不能直接回答问题,但我想在这里发布它,因为很多人最终可能会在这里搜索此错误消息。我现在遇到了与上述问题相同的问题,我不知道如何摆脱启动时的警告。
更新 iOS SDK 版本 >= 9.0.0
在 9.0.0 版本中删除了 FacebookAutoInitEnabled
标志,需要使用 initializeSDK
方法显式初始化 SDK,或者通过在 applicationDidFinishLaunching
中调用它来隐式初始化 SDK。
➡️CHANGELOG
【讨论】:
这很有帮助,但作为评论可能更好。 @MikePandolfini 我首先将其作为评论,但为了使内容更有条理且不那么混乱,我将其作为答案。 有这方面的文档吗? @neobie 我已经更新了帖子并链接了文档:)【参考方案2】:Facebook 需要在 AppDidLaunch 中使用一行进行后处理,该行在应用首次启动时会在 SDK 初始化之前运行:https://developers.facebook.com/docs/ios/graph/。因此,当您第一次启动时,这条线没有实际意义,但无论如何 FB 很乐意阻塞您的控制台。如果您删除此行,FB 将无法在应用中正确处理登录,因此我们将不得不忍受这个毫无意义的“警告”。
【讨论】:
以上是关于为后期处理设置 Facebook SDK 会导致控制台中出现错误消息的主要内容,如果未能解决你的问题,请参考以下文章
Facebook SDK + Google SDK:被访问的框架将“document.domain”设置为“facebook.com”
Facebook SDK 登录永远不会在 iOS 9 上回调我的应用程序