iOS 기기 고유 식별 값을 알고 싶을 때, 대부분 UUID를 이용하여 사용합니다.
하지만 UUID의 경우, 앱을 재설치하면 변경되므로 문제가 발생합니다.
그때 쓸만한 라이브러리가 TAKUUID입니다.
https://github.com/taka0125/TAKUUID
키 체인을 이용해서 앱 삭제후 재설치 해도 초기 설정 되었던 UUID 값을 사용 할 수 있습니다. (자세한 것은 Read Me 참고)
하지만 만약 같은 API를 사용하는 경우, 예를 들면 앱A와 앱B가 있는데 A, B가 같은 로그인 API를 사용한다면 A, B 의 UUID 가 서로 다르므로 문제가 생길 수 있습니다.
이 문제를 해결할 여러가지 방법이 있겠지만 저는 App Groups 로 해결 했습니다.
만약 그룹안에 앱이 있다면 거기서 사용한 UUID를 UserDefault로 전달 받아 사용하고, 만약 없을 경우에만 생성하여 사용하는 방법입니다.
App Groups 사용 방법은 아래 사이트를 참고하시면 됩니다.
https://stackoverflow.com/a/31927904
단, A, B 앱이 모두 삭제 하고 재설치 하는 경우에는 재갱신이 필요합니다.
case 1) A 설치, 로그인 -> B 설치, 로그인 -> A 삭제 -> B삭제 -> A 설치, 로그인 (문제 없음)
case 2) A 설치, 로그인 -> B 설치, 로그인 -> A 삭제 -> B삭제 -> B 설치, 로그인 (TAKUUID에서 재갱신 됨)
App Group으로 해결하는 방법도 있지만 identifierForVendor를 이용하며 좀 더 편하게 설정할 수 있습니다 :)
identifierForVendor의 경우에는 같은 공급자의 앱들은 동일한 식별 값을 같습니다.
App Group는 앱 끼리 데이터를 공유할 때 사용하는 것이 더 좋습니다 ㅎㅎ
'Programer > iOS' 카테고리의 다른 글
[Tip] iOS 세미나, 밋업 정보 (0) | 2018.06.04 |
---|---|
[Tip] Apple MDM / 엔터프라이즈 계정 관련 (0) | 2018.02.05 |
[Swift] Label안에 Image넣기 (0) | 2017.09.05 |
[Swift] 클로저 (Closure) (0) | 2017.02.28 |
[Swift] 이니시스 결재 모듈 관련 이슈 (아엠포트 소개, EUC-KR 인코딩 변경) (4) | 2016.12.01 |