В процессе преобразования проекта я использую ARC. У меня есть категория на NSColor с методом, который возвращает автореализованное представление CGColor:
@implementation NSColor (MyCategory)
- (CGColorRef)CGColor
{
    NSColor *colorRGB = [self colorUsingColorSpaceName:NSCalibratedRGBColorSpace];
    CGFloat components[4];
    [colorRGB getRed:&components[0]
               green:&components[1]
                blue:&components[2]
               alpha:&components[3]];
    CGColorSpaceRef space = CGColorSpaceCreateWithName(kCGColorSpaceGenericRGB);
    CGColorRef theColor = CGColorCreate(space, components);
    CGColorSpaceRelease(space);
    return (CGColorRef)[(id)theColor autorelease];
}
@end
Каков правильный способ сделать это с помощью ARC? Я не хочу возвращать сохраненный CGColor.
Конвертер ARC в XCode предлагает использовать
return (CGColorRef)[(__bridge id)theColor autorelease];
но это приводит к следующему сообщению об ошибке:
[rewriter] небезопасно передавать в 'CGColorRef' результат сообщение "autorelease"; листинг __bridge может привести к указателю на уничтоженный объект, а __bridge_retained может пропустить объект