Q: How do I use ICC profiles on the iPad/iPhone? right now I'm implementing a basic PDF viewer, and I came across the problem that some files are displayed with wrong (too intense, too bright) colors for text and vector graphics when rendered on the device and in the simulator.
Since I have access to calibration hardware, I could create ICC profiles for the device with test data. 
The only question I have now: Is there a way to use ICC profiles to aid the rendering of PDF data on the iPad's screen?
If someone wonders: I plan to target iOS 4.x on the iPad and possibly on the iPhone.
Thanks in advance!

A: I worked around this issue (of having PDFs render in different colors than pre-computed preview bitmaps) by generating all PDFs using sRGB (you can select this, for instance, in InDesign export settings).

A: Right now, iOS lacks a system-wide CMS like ColorSync.
What I would try to do is:


*

*calibrate your iPad,

*calculate the color transform from the ICC profile your calibrator gives you,

*run that transform on the color values you display from the PDF data.


See where that gets you. There may be a lot of variance across the displays you are targeting (maybe different manufacturer batches == slightly different whitepoints, or something) but maybe that will assuage your problem.
... Which, since unlike some people, you're not defining that problem for 'perfect color reproduction in iOS' and as such, your problem is most likely quite solvable.
Bruce Lindbloom has a lot of color-conversion math (constants, definitions, etc) and his site is a great place to start, for this sort of thing.
http://www.brucelindbloom.com/
Since most Cocoa devs can depend on ColorSync, I haven't run across any relevant color transformation examples in Obj-C. There are plenty in Python that I know of -- python-colormath is a good example, with legible implementations of many of Mr. Lindbloom's matrices and transformations:
http://code.google.com/p/python-colormath/
... you may also be able to embed OpenCV in your iOS project. OpenCV has native matrix data structures and other useful things for you, if you are doing this kind of thing:
http://www.cs.iit.edu/~agam/cs512/lect-notes/opencv-intro/
This is an area of interest for me, so let me know if you'd like me to elaborate on any of what I've provided. Good luck.
