diff --git a/macos/Sources/Helpers/OSColor+Extension.swift b/macos/Sources/Helpers/OSColor+Extension.swift index 7cdfcc1e6..2d08e1cd2 100644 --- a/macos/Sources/Helpers/OSColor+Extension.swift +++ b/macos/Sources/Helpers/OSColor+Extension.swift @@ -22,11 +22,29 @@ extension OSColor { } var hexString: String? { +#if canImport(AppKit) guard let rgb = usingColorSpace(.deviceRGB) else { return nil } let red = Int(rgb.redComponent * 255) let green = Int(rgb.greenComponent * 255) let blue = Int(rgb.blueComponent * 255) return String(format: "#%02X%02X%02X", red, green, blue) +#elseif canImport(UIKit) + var red: CGFloat = 0 + var green: CGFloat = 0 + var blue: CGFloat = 0 + var alpha: CGFloat = 0 + guard self.getRed(&red, green: &green, blue: &blue, alpha: &alpha) else { + return nil + } + + // Convert to 0–255 range + let r = Int(red * 255) + let g = Int(green * 255) + let b = Int(blue * 255) + + // Format to hexadecimal + return String(format: "#%02X%02X%02X", r, g, b) +#endif } func darken(by amount: CGFloat) -> OSColor {