【问题标题】:Failed importing Facebook SDK in Swift 4.x在 Swift 4.x 中导入 Facebook SDK 失败
【发布时间】:2019-09-23 21:20:59
【问题描述】:

我已尝试导入 Facebook SDK for App Events 并通过 Facebook ADS 跟踪应用安装,但这是不可能的。

我已经用 CocoaPods 完成了,使用:

pod 'FacebookCore'

正如 Facebook 官方教程所说。

之后,Facebook 分析 将我检测为新的唯一身份用户,这很棒????。

问题是当我尝试像这样添加 APP 事件时:

AppEventsLogger.log("Opened App Main VC");

然后这个错误 ????出现:

Use of unresolved identifier 'AppEventsLogger'

除此之外,它也没有在 AppDelegate 中检测到 AppEventsLogger 并出现相同的错误:

AppEventsLogger.activate(application)

我已经在 VCAppDelegate 中导入了这个模块/库:

import FacebookCore //in theory is just this one
import FBSDKCoreKit

因此,非常欢迎任何提示或帮助! ????

【问题讨论】:

  • 您是否在目录中运行了pod install
  • 是的,我做到了。正如我所说,Facebook 分析检测到它:( 但是当我尝试添加应用事件时不起作用。

标签: ios swift facebook sdk


【解决方案1】:

两次导入

import FacebookCore
import FBSDKCoreKit

在 AppDelegate 中

 func applicationDidBecomeActive(_ application: UIApplication) {
    AppEvents.activateApp()
}

当您想要记录事件时:

AppEvents.logEvent(AppEvents.Name.init(rawValue: "Opened App Main VC"))

另外一种AppEvents,可以参考this

【讨论】:

  • 是的,这行得通。当我终于发现时,我想自动回答我,但就是这样。我现在遇到的问题是 Facebook ADS 没有检测到我的应用事件我不知道为什么:(
  • @SahilManchanda 它说'activateApp()' is deprecated: The class method `activateApp` is deprecated. It is replaced by an instance method of the same name.
【解决方案2】:

问题是AppEventsLogger改为AppEvents。所以更改 AppEventsLogger 的名称,它会正常工作。这是 Facebook sdk 中的新更新。

【讨论】:

  • 是的,我也试过了,在 App Delegate 中我可以更改: AppEventsLogger.activate(application) 到 AppEvents.activateApp() 理论上这很好用。问题是我不知道如何用这个记录: AppEventsLogger.log("Hello World");因为它在 VC 中说同样的错误。
  • 令人沮丧的是,更新日志涵盖了这一点,但所有“入门”指南目前都显示旧代码,如 OP 的示例
  • @lgy...是的,他们很不幸
猜你喜欢
  • 2019-09-08
  • 2014-11-24
  • 2018-07-06
  • 1970-01-01
  • 2015-12-27
  • 1970-01-01
  • 1970-01-01
  • 2012-09-17
  • 2015-02-09
相关资源
最近更新 更多