나는 두 개의 서로 다른 응용 프로그램이있는 제품을 가지고 있습니다. 그리고 두 응용 프로그램은 동일한 장치에 대해 서로 다른 식별자를 제공합니다 (응용 프로그램 전반에서 정보를 재사용 할 수 있도록이 사과를 개발자 계정에 연결한다고 가정 할 것입니다). 그러나 나는 저에게 줄 수있는 것이 무엇인지 궁금합니다. 두 응용 프로그램의 장치에 대한 동일한 식별자?[UIDevice currentDevice] .identifierForVendor
3
A
답변
2
identifierForVendor
정말 원하는 것입니다. UDID는 AppStore에서 큰 NO입니다. 사용자는 advertisingIdentifier
으로 선택을 취소 할 수 있습니다. 다른 방법 (ODIN1과 같은 MAC 주소 및 UIPasteboard에 의존하는 솔루션, OpenUDID)은 미래에 중단됩니다 (힌트 : 7). 두 응용 프로그램이 동일한 개발자에서 경우
는 docs에 따르면, 같은 식별자가 있어야합니다
이 속성의 값은 실행 같은 공급 업체에서 온 애플 리케이션에 대해 동일한 입니다 같은 장치. 다른 공급 업체에서 온 동일한 기기의 앱과 공급 업체와 관계없이 다른 기기의 앱에 대해 서로 다른 값이 반환됩니다.
앱이 백그라운드에서 실행중인 경우, 사용자가 기기를 다시 시작한 후 처음으로 기기의 잠금을 해제하기 전에이 속성의 값이 0이 될 수 있습니다. 값이 nil이면 기다렸다가 나중에 값을 다시 얻습니다.
이 속성의 값 은 iOS 장치에 앱 (또는 동일한 공급 업체의 다른 앱)이 설치되어있는 동안 동일하게 유지됩니다. 사용자가 기기에서 해당 공급 업체의 모든 앱을 삭제 한 다음 하나 이상의 앱을 다시 설치하면 값이 변경됩니다. 따라서 앱이이 속성의 값을 어디서나 저장하는 경우 식별자가 변경되는 상황을 정상적으로 처리해야합니다.
0
은 지금까지 최상의 해결책입니다. 기기를 재설정해도 변경 될 수 있습니다.
Marcelo하지만 identifierForVendor의 문제는 내 응용 프로그램 모두에서 변경된다는 것입니다. 내 개발자 계정과 연결된 모든 응용 프로그램 내에서 재사용 할 수 있도록 장치 및 공급 업체 고유의 것을 원합니다. – Jonathan
변경해서는 안됩니다. 두 앱에 모두 서명 할 때 동일한 계정을 사용하는 것이 좋다면 레이더를 신고해야합니다. –
오! 좋아요. 나는 사과에보고 할 것입니다. – Jonathan