Skip to content

Instantly share code, notes, and snippets.

@drunknbass
Forked from zwaldowski/gist:6526790
Created September 11, 2013 17:21
Show Gist options
  • Save drunknbass/6526853 to your computer and use it in GitHub Desktop.
Save drunknbass/6526853 to your computer and use it in GitHub Desktop.
extern uint32_t dyld_get_program_sdk_version() WEAK_IMPORT_ATTRIBUTE;
extern BOOL DZApplicationUsesLegacyUI(void)
{
static dispatch_once_t onceToken;
static BOOL legacyUI = NO;
dispatch_once(&onceToken, ^{
uint32_t sdk = __IPHONE_OS_VERSION_MIN_REQUIRED;
if (dyld_get_program_sdk_version != NULL) {
sdk = dyld_get_program_sdk_version();
}
Boolean hasLegacy;
// The OS may set these at will
Boolean forceLegacy = CFPreferencesGetAppBooleanValue(CFSTR("UIUseLegacyUI"), kCFPreferencesCurrentApplication, &hasLegacy);
Boolean requireModern = CFPreferencesGetAppBooleanValue(CFSTR("UIForceModernUI"), kCFPreferencesCurrentApplication, NULL);
legacyUI = ((sdk < 0x70000) && (!(hasLegacy && forceLegacy) || requireModern));
});
return legacyUI;
}
@drunknbass
Copy link
Author

detect legacy mode at runtime

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment