【发布时间】:2019-11-21 13:04:02
【问题描述】:
这是我第一次使用 Firebase,我使用 Xcode 9.4.1 和 Swift 4。我使用 CocoaPods 将 Firebase 安装到我的项目中。
以下是我的代码 sn-ps(和错误):
#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
}
}
对于上面的代码 sn-p 我收到此错误:
No known class method for selector '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
}
我收到错误:
No known class method for selector 'archivedDataWithRootObject:requiringSecureCoding:error:'
网上似乎没有很多关于这个问题的资源。除了升级 Xcode,但就我而言,我无法升级我的 Xcode。有什么可以做的吗?
【问题讨论】:
-
请使用代码完成或阅读documentation(这是在线资源)。 Swift 3+ 方法没有
error参数,它们是throw。 -
但是 Obj-C 类有错误参数 :-) 请给我们提供代码 sn-p... 你试图保存什么样的对象?
标签: ios swift firebase cocoapods