首页 > 解决方案 > Xcode 12:如何修复错误“archiveRootObject:toFile:”已弃用

问题描述

我正在使用 Xcode 12 的测试版(版本 12.0 beta (12A6159))。我的项目使用 Firebase。当我尝试构建它时,会出现一些错误,例如:

'archiveRootObject:toFile:' is deprecated: first deprecated in iOS 12.0 - Use +archivedDataWithRootObject:requiringSecureCoding:error: and -writeToURL:options:error: instead

Xcode 告诉我在“GoogleDataTransport”文件夹中解决此问题,在此行的文件中:

[NSKeyedArchiver archiveRootObject:self toFile:[GDTCORStorage archivePath]];

我试图愚蠢地按照错误信息告诉我的去做,所以我开始写错误所说的内容。我录了:

[NSKeyedArchiver archivedDataWithRootObject:<#(nonnull id)#> requiringSecureCoding:<#(BOOL)#> error:<#(NSError *__autoreleasing  _Nullable * _Nullable)#>];

我不知道我应该写什么来完成空白。有人有什么想法吗?

标签: firebasexcode12

解决方案


即使我们将 Firebase SDK 更新到最新版本,仍然会出现错误(使用 Xcode 12 beta (12A6159))。我将此问题报告给 Firebase 支持。他们告诉我这看起来像是 CocoaPods 的问题。但是,他们给了我一个解决方法

当我有更多信息时,我会更新这篇文章。


推荐阅读