Поскольку вы не присваиваете результат CGColorSpaceCreateDeviceRGB () переменной, вы теряете ссылку на объект, созданный этим методом.
Эта ссылка понадобится вам позже, чтобы освободить объект цветового пространства. Core Graphics следует правилам управления памятью Core Foundation.
Вы можете найти больше об этом здесь .
Исправлена версия вашего кода:
CGColorSpaceRef colorSpace = CGColorSpaceCreateDeviceRGB();
CGContextRef context = CGBitmapContextCreate(nil, size.width, size.height, 8, 0, colorSpace, kCGBitmapAlphaInfoMask);
.
. // (All straightforward code)
.
CGContextRelease(context);
CGColorSpaceRelease(colorSpace);
Если вы щелкнете по синему значку, который анализатор кода размещает в вашем источнике, вы получите график со стрелкой, который показывает вам источник утечки. (Я предполагаю, что это будет указывать на линию, где вы создаете цветовое пространство)