Swift调用Crashlytics setValue报键ENABLE LOGGING不兼容键值编码错误
代码报错核心原因
- 你使用的
ENABLE LOGGING不是Crashlytics类支持的合法KVC键,Crashlytics没有公开或内部实现对应的属性,所以触发了KVC机制的未定义键崩溃。KVC键名通常不会包含空格,这个键名本身就不符合常规的SDK键命名规范,属于不存在的错误键值。 - 如果你想要实现开启Crashlytics日志的需求,不需要通过自定义KVC的方式实现,新版Firebase Crashashlytics有公开的官方API可以调用,正确写法如下:
// 开启Crashlytics数据收集 Crashlytics.crashlytics().setCrashlyticsCollectionEnabled(true) // 开启Firebase全局调试日志,包含Crashlytics的运行日志输出 FirebaseConfiguration.shared.setLoggerLevel(.debug) - 额外注意:不要对第三方SDK的公开类调用KVC设置未公开的自定义键,这类操作严重依赖SDK内部实现,版本更新后极易出现崩溃,同时也不符合苹果应用审核的相关要求。
内容的提问来源于stack exchange,提问作者Dan Selig
相关产品推荐
相关产品推荐

