Java UUID에서와 같이 목표 c에서 UUID를 얻는 방법은 128 비트 값을 나타내는 고유 한 난수를 생성하는 데 사용됩니다.
답변
시험:
CFUUIDRef udid = CFUUIDCreate(NULL);
NSString *udidString = (NSString *) CFUUIDCreateString(NULL, udid);
최신 정보:
iOS 6 부터 UUID를 생성하는 더 쉬운 방법이 있습니다. 그리고 평소와 같이 여러 가지 방법이 있습니다.
UUID 문자열을 만듭니다.
NSString *uuid = [[NSUUID UUID] UUIDString];
UUID 만들기 :
[NSUUID UUID]; // which is the same as..
[[NSUUID] alloc] init];
유형의 객체를 만들고 NSConcreteUUID
로 쉽게 캐스팅 할 수 있으며 NSString
다음과 같습니다.BE5BA3D0-971C-4418-9ECF-E2D1ABCB66BE
문서에서 참고 :
참고 : NSUUID 클래스는 CoreFoundation의 CFUUIDRef와 무료로 연결되지 않습니다. 필요한 경우 UUID 문자열을 사용하여 CFUUID와 NSUUID간에 변환합니다. 두 개의 NSUUID 객체가 포인터 값으로 비교할 수 있다는 보장은 없습니다 (CFUUIDRef가 그렇듯이). isEqual :을 사용하여 두 개의 NSUUID 인스턴스를 비교합니다.
답변
Raptor의 답변의 신속한 버전 :
let uuid = NSUUID().UUIDString
답변
+ (NSString *)uniqueFileName
{
CFUUIDRef theUniqueString = CFUUIDCreate(NULL);
CFStringRef string = CFUUIDCreateString(NULL, theUniqueString);
CFRelease(theUniqueString);
return [(NSString *)string autorelease];
}
답변
-(NSString*) myUUID()
{
CFUUIDRef newUniqueID = CFUUIDCreate(kCFAllocatorDefault);
CFStringRef newUniqueIDString = CFUUIDCreateString(kCFAllocatorDefault, newUniqueID);
NSString *guid = (__bridge NSString *)newUniqueIDString;
CFRelease(newUniqueIDString);
CFRelease(newUniqueID);
return([guid lowercaseString]);
}
답변
iOS 5 이하 버전의 경우 CFUUID를 사용하고 iOS 6 및 7의 경우 NSUUID를 사용하여 보안을 강화할 수 있습니다. UUID를 키 체인에 저장할 수 있습니다.
답변
- (NSString*)generateGUID{
CFUUIDRef theUUID = CFUUIDCreate(NULL);
CFStringRef string = CFUUIDCreateString(NULL, theUUID);
CFRelease(theUUID);
return [NSString stringWithFormat:@"%@", string];
}
답변
Swift 5.0의 경우 이것을 사용하십시오.
let uuidRef = CFUUIDCreate(nil)
let uuidStringRef = CFUUIDCreateString(nil, uuidRef)
let uuid = uuidStringRef as String? ?? ""