我正在将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)。
有帮助吗?如何设置代表?
谢谢!
答案 0 :(得分:0)
发生此消息是因为您尚未使类符合AppsFlyerTrackerDelegate
协议。
如果这是您的主要AppDelegate,则将AppsFlyerTrackerDelegate
添加到符合协议的类中:
class AppDelegate: UIResponder, UIApplicationDelegate, AppsFlyerTrackerDelegate { ... }
文档应该告诉您之后要实现的方法...
最好回顾一下Protocols in the swift documentation并了解Protocol orientated programing。