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