2011-12-25 4 views
3

나는 네이티브 아이폰 OS 앱을 개발하고 있는데, 객관적인 C와 애플 기기 개발에 초보자 다.iDevice 사용자를 식별 할 수있는 방법이 있습니까?

내 앱에서 고유 한 방식으로 사용자를 식별해야합니다. 최선의 해결책은 현재의 Apple ID를 얻고이를 목적으로 온라인 데이터베이스에 저장하는 것입니다. 유일한 단서는 사용자가 변경할 수 있다는 것입니다. 그래서, 나는 애플이 실제 계정을 유일하게 구별 할 다른 식별자를 가져야한다고 생각한다.

내가 그걸 얻을 수있는 방법이 있습니까? 내가 놓친 것? 어떤 수업? 사전에

감사합니다 ... 피트

+0

당신은 사용자를 식별 할 것인가? 그렇게하는 방법은 다양하므로 최상의 답변을 이끌어 낼 것입니다. 하드웨어 식별자를 사용하여 장치 *를 식별 할 수 있습니다. 게임을 만들면 Game Center 계정 통합을 사용하여 플레이어를 식별 할 수 있습니다. Apple ID를 사용하여 문제를 확인했습니다. 즉, Apple ID를 사용하지 않고 iOS 장치를 사용하거나 변경할 수 있습니다. –

+0

그것은 신문 앱이며 이미 인쇄판 구독을 구입 한 사용자에게 무료 온라인 구독을 허용해야합니다. 내 개념은 내가 사용자를 고객에게 묶을 것이라는 것이다. (이는 제로 가격의 인앱 구매를 복원하는 것과 같다). –

답변

12

모든 IOS 장치를 가지고 고유 식별자 UDID는, 느릅 나무를 통해 accesible입니다 :

[[UIDevice currentDevice] uniqueIdentifier] 

그러나 이것은 애플에 의해 좌절되고, 일부 앱이 거부지고 기본적으로 사과는 장치를 판매하거나 다른 사람과 교환 할 수 있기 때문에 장치를 고유하게 추적하거나 취급하지 않기를 원하기 때문입니다.

당신이 할 수있는 일은 UUID which is a unique identifier을 생성하여 키 체인에 저장하는 것입니다. 즉,이 고유 ID는 앱이 삭제 되더라도 전화 상태로 유지되며, 초기화 할 때만 사라집니다. 사과가 원하는 것입니다.

또 다른 해결책이 도움이 openUDID 또는 UIDevice-with-UniqueIdentifier-for-iOS-5

희망 같은 장치 기준을 UniqueID 생성됩니다 외부 라이브러리를 사용하는 것입니다!

+0

위대한, 그게 다야 ... 고마워! P –

2

고유 한 사용자 식별자를 얻을 방법이 없습니다 (사용자에게 선택적이고 확인되지 않은 응답을 정중하게 요청하는 경우 제외). Apple의 개인 정보 취급 방침은 앱 사용자에 대한 정보를 어떤 식 으로든 노출하는 것을 허용하지 않는 것처럼 보입니다.

iOS 장치 UDID는 Apple에서 더 이상 사용되지 않지만 사용자와 관련이 거의 없습니다 (장치가 소유자를 변경하고 단일 사용자가 다른 UDID를 가진 여러 장치를 가질 수 있으므로).

2

[[UIDevice currentDevice] uniqueIdentifier]은 이제 입니다.

당신은 대신 사용해야합니다

: 어떤 목적

UIDevice *device = [UIDevice currentDevice]; 
NSUUID *uniqueIdentifier = [device identifierForVendor]; 

UIDevice Class Reference

+0

identifierForVendor는 경우에 따라 변경되기 때문에 신뢰할 수있는 고유 식별자가 아닙니다. 실제로 유일하게 신뢰할 수있는 고유 식별자는 Game Center의 playerID 속성이지만 불행히도 게임에서만 사용할 수 있습니다. – Heitor

관련 문제