summaryrefslogtreecommitdiff
path: root/uiduid.mm
diff options
context:
space:
mode:
Diffstat (limited to 'uiduid.mm')
-rw-r--r--uiduid.mm10
1 files changed, 9 insertions, 1 deletions
diff --git a/uiduid.mm b/uiduid.mm
index ab3bf27..690bf51 100644
--- a/uiduid.mm
+++ b/uiduid.mm
@@ -41,10 +41,18 @@
#import <UIKit/UIDevice.h>
#include <stdio.h>
+#include <dlfcn.h>
+
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;