导入Firebase后,Xcode 8.0 beta会出错

时间:2016-08-26 10:43:47

标签: ios swift xcode firebase

我使用Xcode 8.0 beta 5或6创建空的swift项目,并使用像Firebase指南这样的cocoapods导入Firebase。在进口过程中,一切都很好。我使用FIRApp.Configure()评论配置firebase。我可以处理身份验证,但是当我尝试访问数据库时,它无法正常工作。

FIRApp.h中的构建时错误,如:

"Conflicting nullability specifier on return types, 'nullable' conflicts with existing specifier 'non null'"

Screenshot of FIRApp.h Build-time error

控制台中也存在以下错误:

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

我无法解决问题。

3 个答案:

答案 0 :(得分:12)

构建时间警告与可空性声明检查中的Xcode 8更新有关。它应该是无害的,并在即将发布的版本中修复。

FIRInstanceID错误与Xcode 8 beta中的钥匙串错误有关。见radar。钥匙串问题仅影响模拟器运行。测试结束前应该有一个修复程序。与此同时,解决方法是启用钥匙串共享(请参阅Benjamin的回答)或使用真实设备。

钥匙串错误已在Xcode 8.2中修复。

答案 1 :(得分:9)

实际上它与任何类型的bug无关,但是默认情况下您的Keychain Sharing已关闭,您需要启用它。

项目导航器中,选择目标。在功能标签下,启用钥匙串共享。这应该摆脱所有问题。

答案 2 :(得分:0)

构建时间警告可以通过这种方式修复 转到Pods -> Build Settings -> Use Legacy Swift Language Version并将其设置为No,这对我有用。

清理项目并构建。

我能够重现警告并多次修复。