ตั้งแต่ iOS 7 เป็นต้นมา Apple ห้ามไม่ให้เข้าถึง MAC Address จริงของอุปกรณ์ (คืนค่า 02:00:00:00:00:00 เสมอ) เพื่อความเป็นส่วนตัว แอปเปิลแนะนำให้ใช้ identifierForVendor (UUID) แทน
รหัสตัวอย่าง
override func viewDidLoad() {
super.viewDidLoad()
print(UIDevice.current.identifierForVendor) // Optional(UUID)
print(UIDevice.current.identifierForVendor?.uuidString) // Optional("UUID string")
}
ผลลัพธ์ตัวอย่าง (Simulator iPhone 7 Plus, iOS 12)
Optional(1E52E5F9-9385-4269-A2CA-A0B9063DCBA5)
Optional("1E52E5F9-9385-4269-A2CA-A0B9063DCBA5")
ค่า identifierForVendor เหมือนกันสำหรับแอปจาก vendor เดียวกันบนอุปกรณ์เดียวกัน แตกต่างกันหาก vendor ต่างกันหรืออุปกรณ์ต่างกัน