Firebase,Swift:返回类型的冲突可空性说明符,'可空'与现有说明符'nonnull'冲突

Dra*_*ian 20 ios firebase swift swift3 xcode8

Firebase 3.6.0中的警告.Xcode 8 - Swift 3.

这些是Firebase类: -

  • @class FIROptions
  • @class FIRAuthCredential
  • @class FIRUserProfileChangeRequest

警告信息:

  • (可为空的instancetype)init NS_UNAVAILABLE;

想象它可能是一个错误!

但如果没有,任何想法如何解决它?

小智 10

原始答案:从最新的Firebase(3.7.1)开始,此问题已解决.只需执行"pod update Firebase"然后清理项目(通过Option键清除构建文件夹以确保).

更新的答案:不,我的坏......问题依然存在.

进一步深入,这里有一个很好的解释:https://stackoverflow.com/a/39233507/3638762

与此同时(因为我对获得希望感到不好),我发现了一种抑制警告的好方法.我不得不猜测-Wnullability警告类型.;-)

在Pods/FirebaseCore/Frameworks/FirebaseCore.framework/Headers/FIRApp.h中的违规行周围添加这三个#pragma行:

#pragma clang diagnostic push
#pragma clang diagnostic ignored "-Wnullability"
- (nullable instancetype)init NS_UNAVAILABLE;
#pragma clang diagnostic pop
Run Code Online (Sandbox Code Playgroud)

干杯!


小智 -1

清除派生数据文件夹和清理似乎使这些错误对我来说消失了。如果您看到“停止!!将从内存中重置设备ID。” 另外,在功能中启用钥匙串共享。