UUID 란?
UUID(Universally Unique IDentifier)는 고유의 값으로 구하여 사용하기 위함으로 많이 사용된다.그 외 만들어 지는 자세한 규칙, 딱딱한 용어는 아래 링크 참조!
링크 참조 : https://ko.wikipedia.org/wiki/범용_고유_식별자
NSUUID
임의의 128비트 값을 생성하고, 고유의 값을 만드는데 좋다. (항상 값이 다르게 나온다.)Device Vendor UUID
공급업체가 같은 앱들은 모두 같은 고유 ID 를 가짐.AD UUID
광고 식별자 UUID 존재함.1. 각 기기마다 고유 ID를 가진다. (앱 삭제여부 관계없이 같은 ID 가짐)
2. 설정에 따라 값이 초기화 됨. (변경가능)
1) 설정 → 일반 → 재설정 → 모든 → 설정 → 재설정
2) 설정 → 개인 정보 보호 → 광고 → 광고 식별자 재설정
3. 설정에 따라 값을 가지고 올 수 없음
1) 설정 → 개인 정보 보호 → 광고 → 광고 추적 제한
#. App 심사 승인을 위해 IDFA(광고식별자) 사용정보 관련 질문에 답해야함. (Reject 당할 수 있음)
Sample Code
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
|
import UIKit
import AdSupport // 광고 정보 가져오기.
//
// UUID 반복 테스트.
for i in 1...3 {
print("=== \(i)차 UUID ===")
print("NSUUID : \(NSUUID.init().uuidString)")
print("VendorUUID : \(UIDevice.current.identifierForVendor?.uuidString ?? "false")")
}
print("========")
// #. 추가적으로 광고식별자 코드도 존재함.
let adUUID = ASIdentifierManager.shared().advertisingIdentifier
print("Ad UUID : \(adUUID)")
//
/** 결과
Vendor UUID 는 동일함 NSUUID는 항상값이 다르게 나온다.
=== 1차 UUID ===
NSUUID : 8720FD83-B66E-4277-9737-3E977D274D61
VendorUUID : 11CEE207-548C-45E9-AD80-D6C29BB02750
=== 2차 UUID ===
NSUUID : 1F4D3829-60F9-4265-8EE9-24DE30BDCE39
VendorUUID : 11CEE207-548C-45E9-AD80-D6C29BB02750
=== 3차 UUID ===
NSUUID : C917530D-0174-4842-B885-414CBD96AF97
VendorUUID : 11CEE207-548C-45E9-AD80-D6C29BB02750
========
Ad UUID : 637BB6C0-E181-4A57-B43B-A32B9B49A3EF
*/
| cs |
마치며
필자의 경우 광고관련을 사용하지 않기때문에 실제 업무에서 사용해 본적은 없으나, 랜덤한 ID값을 만들려고 이번에 정리하여 NSUUID 를 찾아봐서 테스트 해보았다. 기존의 Device UUID는 앱을 지우지 않는한 같은 ID로 알고 있다. 상황에 맞춰서 그때그때 사용하면 좋을 것 같다.
광고 ID는 앱 리젝 가능성이 있으니 조심하자!
댓글
댓글 쓰기