2013-08-27 3 views
1

프로그래밍 방식으로 iPhone 고유 번호를 가져와야합니다. iPhone 일련 번호를 얻으려고하면 사과가 앱을 거부한다는 것을 알고 있습니다.iPhone 고유 번호 받기

하지만 고유 번호의 iPhone을 얻는 방법이 있으므로 서버가 하나의 장치를 다른 장치와 구별 할 수 있습니다.

+0

고유 번호의 어떤 종류의? 각 장치를 식별 할 수있는 번호? MAC 주소를 사용하십시오. – Raptor

+0

대체물에 대해이 질문을 참조하십시오. http://stackoverflow.com/questions/15939819/udid-replacement – dna2

+0

처음에는 절대로 기기를 식별해서는 안됩니다. (http://triplesoftware.nl/2012/03/uniqueidentifier) -deprecated-a-good-thing /)이지만 사용자를 식별해야합니다. 또한 iOS 7부터는 기기를 전혀 식별 할 수 없습니다. – rckoenes

답변

3

각 iPhone의 경우 MAC 주소는 고유합니다 (iOS 시뮬레이터 제외). 장치를 식별하는 정보를 얻을 수 있습니다. 이 question는 MAC 주소를 얻도록 안내합니다. 그러나 iOS7 disallows use of MAC address. 따라서 iOS 6 이전 버전에서는 MAC 주소를 사용할 수 있습니다. 오는 IOS 7의 경우 다음 방법을 사용할 수 있습니다.

iOS 6 이후로 Apple은 광고 식별자을 사용하는 것이 좋습니다 (ASIdentifierManager 클래스에서 찾을 수 있음). 예제 코드 :

NSUUID *uuid = [ASIdentifierManager advertisingIdentifier]; 
+0

이것은 iOS 7에서 작동하지 않으며, iOS 7에서 장치 식별 번호를 사용할 수 없습니다. 따라서 앞으로의 미래를 보장 할 방법이 없습니다. – rckoenes

+0

@PaulGalavic 참조 링크를 참조하십시오. 여기서 코드를 반복하지 마십시오. – Raptor

+0

@rckoenes 이미 답변에서 언급 된 – Raptor

1

당신이 identifierForVendor 봤어?

고유 응용 프로그램의 공급 업체에 장치를 식별하는 영숫자 문자열을 :

https://developer.apple.com/library/ios/documentation/uikit/reference/UIDevice_Class/Reference/UIDevice.html#//apple_ref/occ/instp/UIDevice/identifierForVendor

애플로 설명합니다.

+1

사용자가 동일한 공급 업체에서 모든 앱을 제거하면이 번호를 변경할 수 있습니다. 또한 다른 공급 업체의 모든 앱에는 동일한 식별자가 없습니다. – rckoenes

+0

이 번호는 iOS7에서 괜찮습니까? –

+0

애플 소스를 찾을 수는 없지만 iOS7 "새로운 기능"문서를 인용 한 여러 사이트를 찾았습니다. "MAC 주소를 반환하는 데 사용 된 두 개의 저수준 네트워킹 API는 이제 고정 된 값은 02 : 00 : 00 : 00 : 00 : 00이며, 문제의 API는 sysctl (NET_RT_IFLIST) 및 ioctl (SIOCGIFCONF)이며, MAC 주소의 값을 사용하는 개발자는 - [UIDevice identifierForVendor]와 같은 식별자로 마이그레이션해야합니다. iOS 7에서 실행되는 모든 앱에 영향을 미칩니다. " – James

0

당신은 당신의 아이폰이 얻을 수있는 UID를 시도해야합니다 :

NSString *udid = [[UIDevice currentDevice] uniqueIdentifier];