UIColor CMYK e Lab Labues

Pergunta simples, mais do que provável resposta complexa:

Como posso obter valores CMYK e Lab de um objeto UIColor (dos quais conheço os valores RGB, se isso ajudar)?

Eu descobri isso com relação aos valores de CMYK, mas não consigo obter valores precisos, apesar de estar em todos os lugares, ouvi dizer que não é um ótimo trecho.

CGFloat rgbComponents[4];
    [color getRed:&rgbComponents[0] green:&rgbComponents[1] blue:&rgbComponents[2] alpha:&rgbComponents[3]];

    CGFloat k = MIN(1-rgbComponents[0], MIN(1-rgbComponents[1], 1-rgbComponents[2]));
    CGFloat c = (1-rgbComponents[0]-k)/(1-k);
    CGFloat m = (1-rgbComponents[1]-k)/(1-k);
    CGFloat y = (1-rgbComponents[2]-k)/(1-k);

questionAnswers(2)

yourAnswerToTheQuestion