AppsFlyer iOS编译错误:“ AppsFlyerTracker.shared()。delegate = self”失败

时间:2018-10-28 01:20:20

标签: ios swift appdelegate appsflyer

我正在将AppsFlyer集成到带有XCode 10.0的iOS Swift 4应用程序中。

CocoPods已安装AppsFlyer 4.8.9 SDK。

import AppsFlyerLib有效。

didFinishLaunchingWithOptions中,我可以访问AppsFlyerTracker.shared()并设置开发密钥和应用ID。

但是,集成所需的第三行代码无法编译。 AppsFlyerTracker.shared().delegate = self

错误消息: Cannot assign value of type 'AppDelegate' to type 'AppsFlyerTrackerDelegate?'

XCode的建议Insert ' as! AppsFlyerTrackerDelegate'

此建议不起作用。该应用程序崩溃并出现以下错误:

  

AppsFlyer SDK版本4.8.9开始构建(728)   无法将类型'MyApp.AppDelegate'(0x1057d0830)的值强制转换为>'AppsFlyerTrackerDelegate'(0x1056dcff8)。   2018-10-27 18:17:49.448100-0700 Modacity [69104:7269920]无法将类型'MyApp.AppDelegate'(0x1057d0830)的值强制转换为>'AppsFlyerTrackerDelegate'(0x1056dcff8)。

有帮助吗?如何设置代表?

谢谢!

1 个答案:

答案 0 :(得分:0)

发生此消息是因为您尚未使类符合AppsFlyerTrackerDelegate协议。

如果这是您的主要AppDelegate,则将AppsFlyerTrackerDelegate添加到符合协议的类中:

class AppDelegate: UIResponder, UIApplicationDelegate, AppsFlyerTrackerDelegate { ... }

文档应该告诉您之后要实现的方法...

最好回顾一下Protocols in the swift documentation并了解Protocol orientated programing

从文档中: Image from AppsFlyer Docs