]> git.saurik.com Git - uikittools.git/commitdiff
iOS 7 uiduid (use MobileGestalt instead of UIKit).
authorJay Freeman (saurik) <saurik@saurik.com>
Sun, 29 Sep 2013 00:26:51 +0000 (00:26 +0000)
committerJay Freeman (saurik) <saurik@saurik.com>
Sun, 29 Sep 2013 00:27:23 +0000 (00:27 +0000)
uiduid.mm

index ab3bf2766e86a53529473ddef92e47cd4caa02f3..690bf512e76b29d0f7488a06cde990ac4482ce15 100644 (file)
--- a/uiduid.mm
+++ b/uiduid.mm
 #import <UIKit/UIDevice.h>
 #include <stdio.h>
 
 #import <UIKit/UIDevice.h>
 #include <stdio.h>
 
+#include <dlfcn.h>
+
 int main(int argc, char *argv[]) {
     NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init];
 
 int main(int argc, char *argv[]) {
     NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init];
 
-    printf("%s\n", [[[UIDevice currentDevice] uniqueIdentifier] UTF8String]);
+    NSString *udid;
+    if (kCFCoreFoundationVersionNumber < 800)
+        udid = [[UIDevice currentDevice] uniqueIdentifier];
+    else
+        udid = [reinterpret_cast<NSString *(*)(NSString *)>(dlsym(dlopen("/usr/lib/libMobileGestalt.dylib", RTLD_GLOBAL | RTLD_LAZY), "MGCopyAnswer"))(@"UniqueDeviceID") autorelease];
+
+    printf("%s\n", [udid UTF8String]);
 
     [pool release];
     return 0;
 
     [pool release];
     return 0;