From c3b89fa215d7e936d5ccf6ae2e03f1a44c049775 Mon Sep 17 00:00:00 2001 From: Mitchell Hashimoto Date: Sat, 23 Dec 2023 18:49:21 -0800 Subject: [PATCH] macos: use securecoding for codablebridge to prevent warning Thanks Matt Polzin! --- macos/Sources/Helpers/CodableBridge.swift | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/macos/Sources/Helpers/CodableBridge.swift b/macos/Sources/Helpers/CodableBridge.swift index 171252dcf..7f0655f83 100644 --- a/macos/Sources/Helpers/CodableBridge.swift +++ b/macos/Sources/Helpers/CodableBridge.swift @@ -8,10 +8,7 @@ class CodableBridge: NSObject, NSSecureCoding { static var supportsSecureCoding: Bool { return true } required init?(coder aDecoder: NSCoder) { - // TODO: This outputs a warning with deprecation on decode. I don't know how to - // fix that yet but there must be something we can change with the encode/decode here - // to resolve it. - guard let data = aDecoder.decodeData() else { return nil } + guard let data = aDecoder.decodeObject(of: NSData.self, forKey: "data") as? Data else { return nil } guard let archiver = try? NSKeyedUnarchiver(forReadingFrom: data) else { return nil } guard let value = archiver.decodeDecodable(Wrapped.self, forKey: "value") else { return nil } self.value = value @@ -20,6 +17,6 @@ class CodableBridge: NSObject, NSSecureCoding { func encode(with aCoder: NSCoder) { let archiver = NSKeyedArchiver(requiringSecureCoding: true) try? archiver.encodeEncodable(value, forKey: "value") - aCoder.encode(archiver.encodedData) + aCoder.encode(archiver.encodedData, forKey: "data") } }