This caused me some initial issues (mostly to do with a critical warning about the context equaling 0,0) but I finally got a nice tiled background in Sprite Kit. Here’s the code, and just note, that for some odd reason I had issues using the size of the device for the CGSize values in the first line below (maybe big round numbers are preferred, who knows)….
CGSize coverageSize = CGSizeMake(2000,2000); //the size of the entire image you want tiled
CGRect textureSize = CGRectMake(0, 0, 100, 100); //the size of the tile.
CGImageRef backgroundCGImage = [UIImage imageNamed:@"image_to_tile"].CGImage; //change the string to your image name
CGContextRef context = UIGraphicsGetCurrentContext();
CGContextDrawTiledImage(context, textureSize, backgroundCGImage);
UIImage *tiledBackground = UIGraphicsGetImageFromCurrentImageContext();
SKTexture *backgroundTexture = [SKTexture textureWithCGImage:tiledBackground.CGImage];
SKSpriteNode *backgroundTiles = [SKSpriteNode spriteNodeWithTexture:backgroundTexture];
backgroundTiles.yScale = -1; //upon closer inspection, I noticed my source tile was flipped vertically, so this just flipped it back.
backgroundTiles.position = CGPointMake(0,0);
Anyone enrolled in the sequel to my Role Playing Games with Sprite Kit video tutorials will see this code in use (and modified to be used with a Property List).