[ios] iOS에서 UUID를 생성하는 방법

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? ?? ""