2013-05-17 3 views
0

중복으로 표시하지 마십시오. 이 질문은 에 관한 것입니다. Simperium 및 uniqueIdentifier 및 identifierForVendor를 다루는 방식입니다.Apple에서 거부당한 UniqueIdentifier

Simperium.m에서 Simperium은 여전히 ​​ [[UIDevice currentDevice] uniqueIdentifier]을 사용하고 있습니다. 이것은 더 이상 사용되지 않으며 Apple은 이제 해당 호출을 사용하는 응용 프로그램을 완전히 거부합니다.

[[[UIDevice] currentDevice] identifierForVendor] UUIDString]; 으로 실험하고 있지만 문제가 있을지 확실하지 않습니다.

뭐라고 말합니까? 애플 문서 identifierForVendor에 따르면

+0

합의 재 : 중복. 나는 대답을 게시 할 수 없으므로,이 접근법은 심 페리 엄의 관점에서 보면 괜찮을 것이다. 개발 지점에도 대체 수정본이 적용되었습니다 (이 문제는 참조 용으로보실 수 있습니다 : https://github.com/Simperium/simperium-ios/issues/60). – mikejohnstn

답변

0

최저

은, 그것은 작동해야한다 identifierForVendor

0

을 사용하여 나중에 그래서 문제를 아이폰 OS 6.0에서 사용되지 할 수 있습니다. 앱에서 UDID에의 접근 및 사용을 제거했을 수 있지만 그들은 "

말을하기 때문에, 잘못된 이진 메시지 앱을 사용하거나 UDID에 액세스하는 것을 나타냅니다. 의 발생에 대한 소스 코드를 확인하시기 바랍니다 "uniqueIdentifier" 메서드, 이는 장치의 UDID를 반환하는 메서드입니다. "

따라서 "uniqueIdentifier"방법을 사용하는 경우에만 해당됩니다.

감사합니다.

0

또한이 메소드를 사용하여 앱의 uniqueidentifier를 가져올 수 있습니다.

- (NSString *)createUUID{ 

NSString *uIdentifier = [[NSUserDefaults standardUserDefaults] objectForKey:@"Unique identifier for test"]; 

if (!uIdentifier) { 

    CFUUIDRef uuidRef = CFUUIDCreate(NULL); 

    CFStringRef uuidStringRef = CFUUIDCreateString(NULL, uuidRef); 

    CFRelease(uuidRef); 

    uIdentifier = [NSString stringWithString:(NSString *)CFBridgingRelease(uuidStringRef)]; 

    [[NSUserDefaults standardUserDefaults] setObject:uIdentifier forKey:@"Unique identifier for test"]; 

    [[NSUserDefaults standardUserDefaults] synchronize]; 

} 

return uIdentifier; 

}

관련 문제