diff --git a/SDWebImage/Core/SDImageCoderHelper.m b/SDWebImage/Core/SDImageCoderHelper.m index a2148116..0808685b 100644 --- a/SDWebImage/Core/SDImageCoderHelper.m +++ b/SDWebImage/Core/SDImageCoderHelper.m @@ -290,22 +290,23 @@ static const CGFloat kDestSeemOverlap = 2.0f; // the numbers of pixels to over } + (CGColorSpaceRef)colorSpaceGetDeviceRGB { +#if SD_MAC + NSScreen *mainScreen = nil; + if (@available(macOS 10.12, *)) { + mainScreen = [NSScreen mainScreen]; + } else { + mainScreen = [NSScreen screens].firstObject; + } + CGColorSpaceRef colorSpace = mainScreen.colorSpace.CGColorSpace; + return colorSpace; +#else static CGColorSpaceRef colorSpace; static dispatch_once_t onceToken; dispatch_once(&onceToken, ^{ -#if SD_MAC - NSScreen *mainScreen = nil; - if (@available(macOS 10.12, *)) { - mainScreen = [NSScreen mainScreen]; - } else { - mainScreen = [NSScreen screens].firstObject; - } - colorSpace = mainScreen.colorSpace.CGColorSpace; -#else colorSpace = CGColorSpaceCreateWithName(kCGColorSpaceSRGB); -#endif }); return colorSpace; +#endif } + (SDImagePixelFormat)preferredPixelFormat:(BOOL)containsAlpha { diff --git a/Tests/Tests/SDImageCoderTests.m b/Tests/Tests/SDImageCoderTests.m index e293a1d4..61c3a513 100644 --- a/Tests/Tests/SDImageCoderTests.m +++ b/Tests/Tests/SDImageCoderTests.m @@ -217,7 +217,7 @@ - (void)test14ThatHEIFWorks { if (@available(iOS 11, tvOS 11, macOS 10.13, *)) { NSURL *heifURL = [[NSBundle bundleForClass:[self class]] URLForResource:@"TestImage" withExtension:@"heif"]; - BOOL supportsEncoding = !SDTestCase.isCI; // GitHub Action Mac env currently does not support HEIC encoding + BOOL supportsEncoding = NO; // public.heif UTI alwsays return false, use public.heic [self verifyCoder:[SDImageIOCoder sharedCoder] withLocalImageURL:heifURL supportsEncoding:supportsEncoding