如何以编程的方式获取 iOS/iPhone 的 MAC 地址?
在 7.0 之前的 iOS 版本中,获取设备的 MAC 地址是可能的。但随着新的 iOS 版本的出现,该功能被禁用,应用程序无法再访问设备的 MAC 地址。
当在当前版本的 iOS 中访问或请求它时,它总是返回 02:00:00:00:00:00。这是苹果出于隐私方面的考虑而实施的。如果你的应用需要唯一地识别一种设备,苹果建议使用 UDID/UUID 而不是 MAC。在 Swift 中,我们可以使用
UIDevice.current.identifierForVendor 这是苹果文档中说的,使用相同供应商在同一设备上运行的每个应用程序具有相同的值。对于同一设备上来自不同供应商的应用程序,以及无论供应商如何,对于不同设备上的应用程序,会返回不同的值。
UIDevice.current.identifierForVendor?.uuidString - 返回 UUID 的一个字符串值。
我们可以在我们的应用程序中使用它们,就像
override func viewDidLoad() { super.viewDidLoad() print(UIDevice.current.identifierForVendor) print(UIDevice.current.identifierForVendor?.uuidString) }
当在 iPhone 7 Plus 上的 iOS 12.0 模拟器上运行时,它会给出以下结果
Optional(1E52E5F9-9385-4269-A2CA-A0B9063DCBA5) Optional("1E52E5F9-9385-4269-A2CA-A0B9063DCBA5
广告