Documentation: ColorSync is supported on iOS

Originator:craig.hockenberry
Number:rdar://24965915 Date Originated:03-Mar-2016 04:27 PM
Status:Open Resolved:
Product:iOS SDK Product Version:9.0
Classification:Other Bug Reproducible:Always
 
The documentation for CGColorSpace states:

——
“iOS does not support ColorSync, so all assets should be provided in the native device color space: sRGB.”
——

https://developer.apple.com/library/ios/documentation/GraphicsImaging/Reference/CGColorSpace/index.html

But beginning in iOS 9, Core Image supports CGColorSpaceRef. As per Session 510 at WWDC 2015:

——
“Another thing we have brought now with our unified implementation of Core Image is now on iOS we have the great functionality of automatic color management.

This has been available on OS X ever since the beginning of Core Image, but now we have this on iOS as well.

What this means is that Core Image now supports ICC-based CGColorSpaceRefs fully. And these can be used on input images or output images or even as a working space in Core Image. This is through great work that's been done to support ColorSync on iOS as well.

What this means to users is that automatically you will get correct rendering of TIFFs or JPGs that are tagged with color spaces. Many images are tagged with sRGB and those have been rendered correctly on previous versions of iOS, but now if you have an image tagged with a color space that is not sRGB, you get the correct behavior.

Here is an example of an image tagged with the Pro Photo color space. The red bench in the background is desaturated, and skin tones look poor. When you correctly see the embedded ICC profile on this, the image is rendered correctly.

And this you get automatically in Core Image.“
——

It would be more accurate to say that Core Graphics doesn’t support ColorSync.

====

Additionally, starting with iOS 9.3 ColorSync support was added to UIKit.

I've noticed that it works correctly for both UIColor in a UILabel and with a UIImage in a UIImageView. Are there any other places where ICC profiles are used?

In a conversation with Apple engineers, I also learned that some older devices do not match color. That's fine, but devices should be listed so our apps can adapt gracefully to this situation.

Comments

Comment I got from Apple Radar Team on my dupe. rdar://30582969

Apple Developer Relations21-Mar-2017 07:17 PM

On iOS ColorSync is a private framework supporting and fully integrated with CoreGraphics, ImageIO, CoreImage and CoreAnimation.

The statement “iOS does not support ColorSync, so all assets should be provided in the native device color space: sRGB.” was removed from documentation in May 2016.

Please let us know whether the issue is resolved for you by updating your bug report.


Please note: Reports posted here will not necessarily be seen by Apple. All problems should be submitted at bugreport.apple.com before they are posted here. Please only post information for Radars that you have filed yourself, and please do not include Apple confidential information in your posts. Thank you!