GDTCORStorage类和UnarchivedObjectofClass是什么?

问题描述 投票:-1回答:1

这是我第一次使用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。有什么可以做的吗?

抱歉,我第一次没有正确构造问题。任何帮助表示赞赏。谢谢!

ios swift firebase cocoapods
1个回答
0
投票

当前版本的Firebase(6.x)至少需要Xcode 10.1。

自从App Store在2019年春季开始要求Xcode 10以来就是如此。

使用Xcode早期版本的解决方法是更新Podfile以指定在此之前发布的Firebase版本。

© www.soinside.com 2019 - 2024. All rights reserved.