2012-01-19 2 views

답변

2
[[UIDevice currentDevice] uniqueIdentifier] 

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

여러 UUID를 작성해야하는 경우, 바로이 방법을 사용

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

참고 : 사용자가 제거하고 응용 프로그램을 재-설치하는 경우 CFUUIDCreate에 의해 생성 된 UUID가 고유 : 당신이 얻을 것이다 매번 새로운 하나.

또한 UUID는 5

+0

그러면 iOS5의 옵션은 무엇입니까? – Developer

+0

X 슬래시가 언급 한대로 기기의 MAC 주소를 사용할 수 있습니다! – Maulik

1

UUID가에서 iOS 5에서 더 이상 사용되지 않습니다 아이폰 OS에서 더 이상 사용되지 않습니다,하지만 당신은 항상 MAC 주소 사용할 수 있습니다

How can I programmatically get the MAC address of an iphone

+1

@X 슬래시는 사용자가 Wi-Fi 및 셀룰러 연결에서 앞뒤로 이동할 때 네트워크 인터페이스에서 MAC 주소를 상수로 유지합니까? – Crashalot

+0

주어진 네트워크 인터페이스에 대해 MAC 주소가 고정되어 있습니다. WiFi 네트워크 카드에는 예를 들어 셀룰러 네트워크 카드와 별도의 MAC 주소가 있습니다. – Stunner

0

또 하나 개의 솔루션 같은 Maulik가 제안 ...

이것은 고유 한 파일 이름을 만드는 것에 관한 것입니다. 그러나 이것은 고유해야 할 모든 것에 적용될 수 있습니다 ...

NSString *filePath; 
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES); 
path = [[paths objectAtIndex:0] stringByAppendingPathComponent:@"SomeDirectoryName"]; 

//Create unique filename 
CFUUIDRef newUniqueId = CFUUIDCreate(kCFAllocatorDefault); 
CFStringRef newUniqueIdString = CFUUIDCreateString(kCFAllocatorDefault, newUniqueId); 
path = [path stringByAppendingPathComponent:(NSString *)newUniqueIdString]; 
path = [path stringByAppendingPathExtension: @"MOV"]; 
CFRelease(newUniqueId); 
CFRelease(newUniqueIdString); 
0

이것은 사용자에 대해 묻는 질문이기 때문에 다소 흥미롭지 만 고유 한 장치 (지문)가 필요할 수도 있습니다. Keychain Services Reference과 , kSecAttrAccessibleAfterFirstUnlockThisDeviceOnlykSecAttrAccessibleWhenUnlockedThisDeviceOnly 세 개의 kSecAttrAccessible 개의 정수를 살펴보십시오.

애플은 [[UIDevice currentDevice] uniqueIdentifier]과 유사하게, Apple이 장치에 연결된 값을 생성한다고 가정 할 때 복사/붙여 넣기 공격을 저지해야합니다. 그러나, 나는 실제적으로 행동을 결코 확인하지 않았다.

관련 문제