How to get a UUID in objective c, like in Java UUID is used to generate unique random numbers which represents 128 bit value.
- 1possible duplicate of How to create a GUID/UUID using the iPhone SDK – Basil Bourque May 21 '14 at 23:31
Try:
CFUUIDRef udid = CFUUIDCreate(NULL);
NSString *udidString = (NSString *) CFUUIDCreateString(NULL, udid);
UPDATE:
As of iOS 6, there is an easier way to generate UUID. And as usual, there are multiple ways to do it:
Create a UUID string:
NSString *uuid = [[NSUUID UUID] UUIDString];
Create a UUID:
[[NSUUID UUID]; // which is same as..
[[NSUUID] alloc] init];
Creates an object of type NSConcreteUUID
and can be easily casted to NSString
, and looks like this: BE5BA3D0-971C-4418-9ECF-E2D1ABCB66BE
NOTE from the Documentation:
Note: The NSUUID class is not toll-free bridged with CoreFoundation’s CFUUIDRef. Use UUID strings to convert between CFUUID and NSUUID, if needed. Two NSUUID objects are not guaranteed to be comparable by pointer value (as CFUUIDRef is); use isEqual: to compare two NSUUID instances.
- 2
- 6If you are using iOS 6, you can use NSUUID: NSString * uuid = [[NSUUID UUID] UUIDString]; – Eli Burke Jul 25 '13 at 12:58
- 2on line 1,
CFUUIDRef udid
should probably beCFUUIDRef uuid
to avoid potential confusion of UDID (Unique Device Identifier) with UUID (Universally Unique Identifier) – CgodLEY Apr 23 '14 at 15:47
+ (NSString *)uniqueFileName
{
CFUUIDRef theUniqueString = CFUUIDCreate(NULL);
CFStringRef string = CFUUIDCreateString(NULL, theUniqueString);
CFRelease(theUniqueString);
return [(NSString *)string autorelease];
}
- You really shouldn't just leave code without explanation, no matter how straightforward it is – Sirens Jun 4 '14 at 17:26
- Errr, not sure why you selected my particular reply to comment on a year and a half later XD. – Bergasms Jun 5 '14 at 1:23
- I didn't realize it was 1.5 years old.. Oh well, it does work nicely though.. :) – Sirens Jun 5 '14 at 2:54
-(NSString*) myUUID()
{
CFUUIDRef newUniqueID = CFUUIDCreate(kCFAllocatorDefault);
CFStringRef newUniqueIDString = CFUUIDCreateString(kCFAllocatorDefault, newUniqueID);
NSString *guid = (__bridge NSString *)newUniqueIDString;
CFRelease(newUniqueIDString);
CFRelease(newUniqueID);
return([guid lowercaseString]);
}
I suggest you to check this library: https://github.com/fabiocaccamo/FCUUID
It provides very simple API to get universally unique identifiers with different persistency levels.
It is compatible with: iOS5, iOS6, iOS7, iOS8
you can use CFUUID for iOS 5 or lower version and NSUUID for iOS 6 and 7. for making it more secure you can store your UUID in keychain
- (NSString*)generateGUID{
CFUUIDRef theUUID = CFUUIDCreate(NULL);
CFStringRef string = CFUUIDCreateString(NULL, theUUID);
CFRelease(theUUID);
return [NSString stringWithFormat:@"%@", string];
}
- 1Code-only answers aren't useful for the community. Please look at How to Answer – JimHawkins Jan 30 '17 at 15:34