导入Firebase后,Xcode 8.0testing版会发出错误提示
我使用Xcode 8.0 beta 5或6创build空的swift项目,并使用类似Firebase指南的cocoapods导入Firebase。 在import过程中,一切都很好。 我使用FIRApp.Configure()
注释来configurationFIRApp.Configure()
。 我可以处理身份validation,但是当我试图达到数据库它不起作用。
在FIRApp.h
构build时间错误, FIRApp.h
所示:
"Conflicting nullability specifier on return types, 'nullable' conflicts with existing specifier 'non null'"
FIRApp.h生成时错误的屏幕截图
在控制台中也是这样的错误:
2016-08-26 13:00:32.719: <FIRInstanceID/WARNING> STOP!! Will reset deviceID from memory. 2016-08-26 13:00:32.719: <FIRInstanceID/WARNING> Failed to fetch default token Error Domain=com.firebase.iid Code=6 "(null)" 2016-08-26 13:02:08.329: <FIRInstanceID/WARNING> Failed to retrieve the default GCM token after 5 retries
我无法解决问题。
编译时间警告与可空性声明检查中的Xcode 8更新有关。 这应该是无害的,并在即将发布的版本中修复。
FIRInstanceID错误与Xcode 8testing版中的钥匙串错误有关。 看到这个雷达 。 钥匙串问题只影响模拟器运行。 testing结束之前应该有一个修复。 与此同时,解决方法是启用钥匙串共享(请参阅本杰明的答案)或使用真实的设备。
钥匙串错误在Xcode 8.2中修复。
其实这是不相关的任何types的错误,但事实上,您的钥匙串共享是默认closures,你需要启用它。
从Project Navigator中select目标 。 在function选项卡下 , 启用钥匙串共享 。 这应该摆脱所有的问题。
构build时间警告可以通过这种方式来解决。
转到你的Pods -> Build Settings -> Use Legacy Swift Language Version
,并将其设置为No
,这对我工作。
清理你的项目并build立。
我能够重现警告并多次修复。