iOS 9/Xcode 7:SKSpriteNode spriteNodeWithImageNamed在某些设备上不起作用

xsh*_*ake 5 xcode objective-c ios sprite-kit ios9

我在从.xcassets图像集加载SKSpriteNode的图像时遇到问题.

虽然它在iOS 8.x上使用[SKSpriteNode spriteNodeWithImageNamde:imageName]工作正常但它在iOS 9上的某些设备上不起作用.例如,它适用于iPhone 6/6 Plus和iPad Air但不适用于iPod Touch 5G.

适用于iOS 8.x的所有设备,但不适用于iOS 9.x(Xcode 7,Xcode 7.1 Beta 3)上的所有设备(例如iPod Touch 5g):

SKSpriteNode *background = [SKSpriteNode spriteNodeWithImageNamed:@"MenuBackgroundImage"];
background.anchorPoint = CGPointMake(0, 0);
background.zPosition = 100;
[self addChild:background];
Run Code Online (Sandbox Code Playgroud)

有趣的是,如果我像这样加载图像,它可以在iOS 9上运行:

SKTexture *imageTexture = [SKTexture textureWithImage:[UIImage imageNamed:@"MenuBackgroundImage"]];
SKSpriteNode* background = [SKSpriteNode spriteNodeWithTexture:imageTexture];
Run Code Online (Sandbox Code Playgroud)

问题是,如果我用UIImage加载图像,内部缓存将无法正常工作.有没有人知道如何从iOS 9中的.xcassets正确加载ImageSet,以便它可以在所有设备上运行?