How to generate UUID in ios

匿名 (未验证) 提交于 2019-12-03 02:27:02

问题:

How to get a UUID in objective c, like in Java UUID is used to generate unique random numbers which represents 128 bit value.

回答1:

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:

+ (NSString *)uniqueFileName {     CFUUIDRef theUniqueString = CFUUIDCreate(NULL);     CFStringRef string = CFUUIDCreateString(NULL, theUniqueString);     CFRelease(theUniqueString);     return [(NSString *)string autorelease]; } 


回答3:

Swift version of Raptor's answer:

let uuid = NSUUID().UUIDString 


回答4:

-(NSString*) myUUID() {     CFUUIDRef newUniqueID = CFUUIDCreate(kCFAllocatorDefault);     CFStringRef newUniqueIDString = CFUUIDCreateString(kCFAllocatorDefault, newUniqueID);     NSString *guid = (__bridge NSString *)newUniqueIDString;     CFRelease(newUniqueIDString);     CFRelease(newUniqueID);     return([guid lowercaseString]); } 


回答5:

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



回答6:

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



回答7:

- (NSString*)generateGUID{     CFUUIDRef theUUID = CFUUIDCreate(NULL);     CFStringRef string = CFUUIDCreateString(NULL, theUUID);     CFRelease(theUUID);     return [NSString stringWithFormat:@"%@", string]; } 


回答8:

#import   NSString* sClientID = [[[ASIdentifierManager sharedManager]advertisingIdentifier] UUIDString]; 

The Best UUID because:

  1. it will never change (*even if the app will be deleted)
  2. Apple approve it.


标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!