-
-
Save drunknbass/6526853 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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; | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
detect legacy mode at runtime