Gradients not working on Simulator or older iPad 2, as SKTexture

I am using CIFilter to create gradients, in which I make an SKTexture


- (SKTexture*)createBorderWith:(CIColor*)left and:(CIColor*)right rotateCW:(BOOL)rotate {


CGRect borderRect = CGRectMake(0,0,500,5000);;

if (rotate) {

borderRect = CGRectMake(0,0,5000,500);

}

CIContext *coreImageContext = [CIContext contextWithOptions:nil];

CIFilter *gradientFilter = [CIFilter filterWithName:@"CILinearGradient"];

[gradientFilter setDefaults];

CIVector *startVector = [CIVector vectorWithX:0.0 Y:borderRect.size.height/2];

CIVector *endVector = [CIVector vectorWithX:borderRect.size.width Y:borderRect.size.height/2];

if (rotate) {

startVector = [CIVector vectorWithX:borderRect.size.width/2 Y:borderRect.size.height];

endVector = [CIVector vectorWithX:borderRect.size.width/2 Y:0.0];

}

[gradientFilter setValue:startVector forKey:@"inputPoint0"];

[gradientFilter setValue:endVector forKey:@"inputPoint1"];

[gradientFilter setValue:left forKey:@"inputColor0"];

[gradientFilter setValue:right forKey:@"inputColor1"];

CGImageRef cgimg = [coreImageContext createCGImage:[gradientFilter outputImage]

fromRect:borderRect];

SKTexture *texture = [SKTexture textureWithCGImage:cgimg];

return texture;

}

When I launch this on an iPhone 5s, or 6 Plus, the gradients work and show no problem.

When I launch this on an iPad 2, or the iOS Simulator, I get black squares. Weird to me.

Any notes would be helpful.

Replies

Oh works on Mac (10.11.1) just fine.