Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> IOS

จะรับที่อยู่ MAC ของ iOS/iPhone โดยทางโปรแกรมได้อย่างไร


ใน 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

จะรับที่อยู่ MAC ของ iOS/iPhone โดยทางโปรแกรมได้อย่างไร