sindresorhus / Defaults

💾 Swifty and modern UserDefaults
https://swiftpackageindex.com/sindresorhus/Defaults/documentation/defaults
MIT License
1.93k stars 115 forks source link

Use `Color.Resolved` to serialize `Color` on macOS 14+ #143

Open sindresorhus opened 1 year ago

sindresorhus commented 1 year ago

https://developer.apple.com/documentation/swiftui/color/resolve(in:) https://developer.apple.com/documentation/swiftui/color/resolved

It should be able to store the color better than what we currently do. We still need to preserve backwards compatibility, so we can first try loading it as Color.Resolved and if it fails, we can use the old way.

Color.Resolved is Codable, so we should use that for the serialization.

sindresorhus commented 1 year ago

Hmm, actually, this means it would not be able to preserve colors that contain both light and dark variants. I wonder if that is currently supported with our current method.