Could somebody tell me if the problem appears only in the simulator, or also on the device? I don't dare to install iOS 7 on my iPhone, because it's my real-world phone. 😉 And my other test devices are getting old -- no iOS 7 for them.
In the simulator, it's the same issue as in iOS 6.0 and 6.1. If you open up "SPTexture.m", around line 265, you'll see this workaround:
#if TARGET_IPHONE_SIMULATOR
NSString *osVersion = [[UIDevice currentDevice] systemVersion];
if ([osVersion isEqualToString:@"6.0"] || [osVersion isEqualToString:@"6.1"])
{
BOOL usePma = pma && [self expectedPmaValueForFile:path];
[options setValue:@(usePma) forKey:GLKTextureLoaderApplyPremultiplication];
}
#endif
If you add "7.0" to this, it will work in the simulator.
If the problem happens on a real device as well, please try to add the following:
#if TARGET_IPHONE_SIMULATOR
// ... don't change
#else
NSString *osVersion = [[UIDevice currentDevice] systemVersion];
if ([osVersion isEqualToString:@"7.0"])
{
BOOL usePma = pma && [self expectedPmaValueForFile:path];
[options setValue:@(usePma) forKey:GLKTextureLoaderApplyPremultiplication];
}
#endif
This needs to be polished for real-world usage, but it might help for now.
... Really, what is Apple thinking? Those small internal differences between iOS versions are driving me nuts ...