태그 보관물: uuid

uuid

iOS를 사용하여 GUID / UUID를 만드는 방법 분산 데이터에 대한 키를 작성할

iPhone 및 iPad에서 GUID / UUID를 만들 수 있기를 원합니다.

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



답변

[[UIDevice currentDevice] uniqueIdentifier]

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

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

여러 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 이상에서 사용 가능 하다는 것을 알았 습니다.


답변

에서 스위프트 :

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


답변

가장 간단한 기술은 사용하는 것 NSString *uuid = [[NSProcessInfo processInfo] globallyUniqueString]입니다. 참고 항목 NSProcessInfo의 클래스 참조하십시오.


답변

에서 스위프트 3.0

var uuid = UUID().uuidString