这是我第一次使用Firebase,我使用Xcode 9.4.1和Swift4。我使用可可豆荚将Firebase安装到我的项目中。
这些是我下面的代码段错误
#pragma mark - GDTCORLifecycleProtocol
- (void)appWillForeground:(GDTCORApplication *)app {
if (@available(macOS 10.13, iOS 11.0, tvOS 11.0, *)) {
NSError *error;
NSData *data = [NSData dataWithContentsOfFile:[GDTCORStorage archivePath]];
if (data) {
[NSKeyedUnarchiver unarchivedObjectOfClass:[GDTCORStorage class] fromData:data error:&error];
}
} else {
#if !TARGET_OS_MACCATALYST
[NSKeyedUnarchiver unarchiveObjectWithFile:[GDTCORStorage archivePath]];
#endif
}
}
对于上面的代码段,我收到此错误:
选择器'unarchivedObjectOfClass:fromData:error:'的未知类方法
if (@available(macOS 10.13, iOS 11.0, tvOS 11.0, *)) {
NSError *error;
NSData *data = [NSKeyedArchiver archivedDataWithRootObject:self
requiringSecureCoding:YES
error:&error];
[data writeToFile:[GDTCORStorage archivePath] atomically:YES];
} else {
#if !TARGET_OS_MACCATALYST
[NSKeyedArchiver archiveRootObject:self toFile:[GDTCORStorage archivePath]];
#endif
}
并且也是上面的代码片段,我得到了错误:
选择器'archivedDataWithRootObject:requiringSecureCoding:error:'的未知类方法'
似乎没有太多关于此问题的在线资源。除了升级Xcode之外,但就我而言,我无法升级Xcode。有什么可以做的吗?
抱歉,我第一次没有正确构造问题。任何帮助表示赞赏。谢谢!
当前版本的Firebase(6.x)至少需要Xcode 10.1。
自从App Store在2019年春季开始要求Xcode 10以来就是如此。
使用Xcode早期版本的解决方法是更新Podfile以指定在此之前发布的Firebase版本。