프로젝트를 진행하면서 UUID를 다루어야 해서 UUID에 대해 찾아보았다.
UUID란 Universally Unique IDentifier의 약자이다.
UUID 표준에 따라서 이름을 부여하게 된다면 고유성이 완벽하게 보장되지는 않지만,
실제로 사용할 때 중복될 가능성이 거의 없다고 인정되기 때문에 널리 사용된다고 한다.
총 36개의 문자열로 구성되어 있고, 이 문자는 32개의 실제 문자(숫자 또는 알파벳)와 4개의 하이픈으로 구성되어 있다.
(8개의 문자) - (4개의 문자) - (4개의 문자) - (4개의 문자) - (12개의 문자)
위의 형식으로 구성된다. 예를 들면, 아래와 같이 말이다.
E621E1F8-C36C-495A-93FC-0C247A3E6E5F
총 사용 가능한 UUID 값의 수는 어마무시한데,
대략 340,282,366,920,938,463,463,374,607,431,768,211,456개 정도 존재한다고 한다. (약 10의 38승 개)
우선 첫 번째로 Apple Developer Documentation을 살펴 보자.
Types, interfaces, other items를 식별할 수 있다고 한다.
init()
init(uuid: uuid_t)
init?(uuidString: String)
init(from: Decoder)
var uuid: (UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8)
var uuidString: String
static func != (UUID, UUID) -> Bool
static func == (UUID, UUID) -> Bool
func encode(to: Encoder)
var description: String
var debugDescription: String
var customMirror: Mirror
var hashValue: Int
func hash(into: inout Hasher)
앱을 재실행 시켜도 값은 유지된다.
앱의 공급 업체가 같을 경우, UUID 값도 동일하다.
개인적인 의견으로는, 연동성이 좋다고 생각된다.
만약 A라는 회사가 SNS 어플리케이션을 만들고 추후에 채팅 어플리케이션을 제작했을 때, 유저가 보유한 고유한 UUID 값을 통해 해당 어플리케이션들의 연동이 가능하기 때문이다.
앱을 삭제해도 공급 업체가 제공한 다른 앱이 남아있는 경우, UUID 값은 유지된다.
유저가 A회사가 공급한 채팅 어플리케이션을 지운다고 해도 SNS 어플리케이션을 지우지 않는 이상 UUID 값은 유지된다.
공급 업체의 앱을 모두 삭제하고 다시 설치한다면, UUID 값은 유지되지 않는다.
유저가 SNS 어플리케이션까지 모두 삭제하고 다시 A 회사의 어플리케이션을 설치한다면 UUID 값은 변경된다.
(2022. 10. 03. ver) 내용 추가 예정 . . .