안녕하세요. 치우 입니다.
이번에 진행중 프로젝트에 식별자 문제로 이슈가 되어
식별자를 정리해 보았습니다.
- 앱의 삭제 여부와 관계없이 같은 ID를 가짐
- 설정에 따라 값이 초기화 됨(변경)
1) 설정 → 일반 → 재설정 → 모든 → 설정 → 재설정
2) 설정 → 개인 정보 보호 → 광고 → 광고 식별자 재설정
- 설정에 따라 값을 가지고 올 수 없음
1) 설정 → 개인 정보 보호 → 광고 → 광고 추적 제한
- 앱스토어 등록시 앱추적 경고 등록 필요.
1) App 심사 승인을 위해 IDFA(광고식별자) 사용 정보 관련 질문에 답해야 함(Reject 당할 수 있음)
코드
ASIdentifierManager.shared().advertisingIdentifier.uuidString
UUID (Universally unique identifier)(벤더 식별자)
2) 같은 벤더의 다른 앱이 없을 경우 ID는 초기화 됨.
- nil 출력 시 기다렸다가 다시 호출해야 함(기기 재시작 후 잠금을 풀기 전에 발생할 수 있음, 위젯 사용시 주의점.)
코드
이번에 진행중 프로젝트에 식별자 문제로 이슈가 되어
식별자를 정리해 보았습니다.
1. 식별자의 종류
UDID (Unique Device Identifier)(디바이스 식별자)
- 각 기기마다 가지는 고유 ID
- 사용불가
IDFA (IDentifier For Advertisers)(광고 식별자)
- 각 기기마다 가지는 고유한 ID를 가짐- 앱의 삭제 여부와 관계없이 같은 ID를 가짐
- 설정에 따라 값이 초기화 됨(변경)
1) 설정 → 일반 → 재설정 → 모든 → 설정 → 재설정
2) 설정 → 개인 정보 보호 → 광고 → 광고 식별자 재설정
- 설정에 따라 값을 가지고 올 수 없음
1) 설정 → 개인 정보 보호 → 광고 → 광고 추적 제한
- 앱스토어 등록시 앱추적 경고 등록 필요.
1) App 심사 승인을 위해 IDFA(광고식별자) 사용 정보 관련 질문에 답해야 함(Reject 당할 수 있음)
코드
ASIdentifierManager.shared().advertisingIdentifier.uuidString
UUID (Universally unique identifier)(벤더 식별자)
- 앱이 달라도 Organization Identifier 가 같은 앱이면 identifierForVender가 같습니다.
- 앱을 삭제할 경우
1) 같은 벤더의 다른 앱이 설치되어 있는 경우 ID가 유지됨.2) 같은 벤더의 다른 앱이 없을 경우 ID는 초기화 됨.
- nil 출력 시 기다렸다가 다시 호출해야 함(기기 재시작 후 잠금을 풀기 전에 발생할 수 있음, 위젯 사용시 주의점.)
코드
UIDevice.current.identifierForVendor?.uuidString
UDID : iOS5에서부터 deprecated 되었습니다. 사용불가
NSUUID: 임의의 128 비트 값을 생성
코드
NSUUID().uuidString2. 식별자의 근황
2021.07.14 현재 iOS버전은 14.6UDID : iOS5에서부터 deprecated 되었습니다. 사용불가
IDFA : iOS14.5 부터 필수권한으로 바뀌어 사실상 사용하기 힘들어 졌습니다,
사용자의 대부분이 거부로 할 것으로 예상됨.
3. 결론
영구적으로 사용할 수 있는 고유 식별자는 없다.
1) keyChain 및 NSUserDefaults와 같은 내부 저장소 사용
2) 벤더식별자 또는 자체 생성으로 유연하게 사용
댓글
댓글 쓰기