Hello everyone as read apps using udid will not be accepted as from 1st may 2013. And we have to use IOS 6 identifierForVendor to get the unique identifier if I am right.But will we able to set minimum deploment target to 4.3? In case devices still running IOS 4.3 or 5.0 how we can cater for UDID, since identifierForVendor is only available in IOS6? Does this mean we use a hash for mac address instead as the Unique identifier? Will that be supporting all IOS versions?
Asked
Active
Viewed 848 times
8
-
http://www.engadget.com/2013/03/21/apple-sets-a-may-1st-cutoff-for-app-submissions-that-use-udid/ – veereev Mar 22 '13 at 07:01
-
Apple source https://developer.apple.com/news/index.php?id=3212013a#top – Vin Mar 22 '13 at 07:31
-
@Vin It doesn't help, replacement methods are all introduced at iOs 6 and even worse: reference GKTank application uses `[[UIDevice currentDevice] uniqueIdentifier]` (see `TankViewController.m`). In fact it uses iphoneos3.0 as a base SDK. I can't remember Apple being so unreasonable. – A-Live Mar 22 '13 at 08:22
-
See started discussion of the problem at https://devforums.apple.com/message/796160#796160 (requires Apple Developer authorization) – A-Live Mar 22 '13 at 08:29
-
hello thanks all for your comments :).I was thinking instead of using UDID for identifying a device uniquely (for apns for instance). We could use some hash for mac address to uniquely identify a device. I have been using this : http://stackoverflow.com/a/7946812/1642881 – veereev Mar 22 '13 at 10:15
1 Answers
2
You can use CFUUID to generate a UUID. You can than store it in KEYCHAIN on the very first launch.. you can get it like this...
NSString *uuid = nil;
CFUUIDRef theUUID = CFUUIDCreate(kCFAllocatorDefault);
if (theUUID)
{
uuid = NSMakeCollectable(CFUUIDCreateString(kCFAllocatorDefault, theUUID));
[uuid autorelease];
CFRelease(theUUID);
}
You can use this ID to identify the app.

Krishna
- 293
- 3
- 11