programing

iOS를 사용하여 GUID/UUID를 생성하는 방법

muds 2023. 5. 11. 21:58
반응형

iOS를 사용하여 GUID/UUID를 생성하는 방법

iPhone과 iPad에서 GUID/UUID를 생성할 수 있기를 원합니다.

그 목적은 모두 고유한 분산 데이터에 대한 키를 생성할 수 있도록 하는 것입니다.iOS SDK로 이것을 할 수 있는 방법이 있습니까?

[[UIDevice currentDevice] uniqueIdentifier]

iPhone의 고유 ID를 반환합니다.

편집:-[UIDevice uniqueIdentifier]는 이제 더 이상 사용되지 않으며 앱이 앱스토어에서 사용을 거부하고 있습니다.이제 아래 방법이 선호되는 접근 방식입니다.

여러 UUID를 생성해야 하는 경우 다음 방법을 사용합니다(ARC 포함).

+ (NSString *)GetUUID
{
  CFUUIDRef theUUID = CFUUIDCreate(NULL);
  CFStringRef string = CFUUIDCreateString(NULL, theUUID);
  CFRelease(theUUID);
  return (__bridge NSString *)string;
}

편집: 2014년 1월 29일:iOS 6 이상을 대상으로 하는 경우, 이제 훨씬 간단한 방법을 사용할 수 있습니다.

NSString *UUID = [[NSUUID UUID] UUIDString];

여기 ARC를 준수하는 간단한 코드가 있습니다.

+(NSString *)getUUID
{
    CFUUIDRef newUniqueId = CFUUIDCreate(kCFAllocatorDefault);
    NSString * uuidString = (__bridge_transfer NSString*)CFUUIDCreateString(kCFAllocatorDefault, newUniqueId);
    CFRelease(newUniqueId);

    return uuidString;
}

iOS 6에서는 다음을 쉽게 사용할 수 있습니다.

NSUUID  *UUID = [NSUUID UUID];
NSString* stringUUID = [UUID UUIDString];

Apple 설명서의 자세한 내용

Apple Developer 설명서를 검토한 결과 CFUUID 개체는 iPhone OS 2.0 이상에서 사용할 수 있습니다.

Swift에서:

var uuid: String = NSUUID().UUIDString
println("uuid: \(uuid)")

가장 간단한 기술은 사용하는 것입니다.NSString *uuid = [[NSProcessInfo processInfo] globallyUniqueString]NS 프로세스 참조정보 클래스 참조입니다.

Swift 3.0에서

var uuid = UUID().uuidString

나는 ObjC를 위한 Guid 클래스의 간단하지만 빠른 구현을 여기에 업로드했습니다: obj-c GUID.

Guid* guid = [Guid randomGuid];
NSLog("%@", guid.description);

또한 다양한 문자열 형식으로 구문 분석할 수 있습니다.

언급URL : https://stackoverflow.com/questions/427180/how-to-create-a-guid-uuid-using-ios

반응형