Xcode 12: как исправить ошибку archiveRootObject:toFile: устарела
Я использую бета-версию Xcode 12 (бета-версия 12.0 (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)#>];
Я понятия не имею, что мне нужно написать, чтобы заполнить пробелы. Кто-нибудь знает?
1 ответ
Даже если мы обновим Firebase SDK до последней версии, ошибки все равно будут появляться (с бета-версией Xcode 12 (12A6159)). Я сообщил об этой проблеме в службу поддержки Firebase. Они сказали мне, что это похоже на проблему с CocoaPods. Однако они дали мне обходной путь.
Я обновлю этот пост, когда у меня будет больше информации.