如何在Swift中获得设备的唯一ID ?

我需要一个ID在数据库中使用,并在我的社交应用程序中作为我的web服务的API-key。一些东西来跟踪这个设备的日常使用情况,并限制其对数据库的查询。


当前回答

在swift 4,5 您可以使用下面的代码获取UUID。

print(UIDevice.current.identifierForVendor!.uuidString)

输出

除此之外,您可以从连接的设备获得多个属性。

 UIDevice.current.name             // e.g. "My iPhone"
 UIDevice.current.model            // e.g. @"iPhone", @"iPod touch"
 UIDevice.current.localizedModel   // localized version of model
 UIDevice.current.systemName       // e.g. @"iOS"
 UIDevice.current.systemVersion    // e.g. @"15.5"

其他回答

Swift 3。X最新工作代码,使用方便;

   let deviceID = UIDevice.current.identifierForVendor!.uuidString
   print(deviceID)

我试过了

let UUID = UIDevice.currentDevice().identifierForVendor?.UUIDString

而不是

let UUID = NSUUID().UUIDString

这很有效。

if (UIDevice.current.identifierForVendor?.uuidString) != nil
        {
            self.lblDeviceIdValue.text = UIDevice.current.identifierForVendor?.uuidString
        }

从iOS 11开始,你可以使用苹果的api: DeviceCheck

在swift 4,5 您可以使用下面的代码获取UUID。

print(UIDevice.current.identifierForVendor!.uuidString)

输出

除此之外,您可以从连接的设备获得多个属性。

 UIDevice.current.name             // e.g. "My iPhone"
 UIDevice.current.model            // e.g. @"iPhone", @"iPod touch"
 UIDevice.current.localizedModel   // localized version of model
 UIDevice.current.systemName       // e.g. @"iOS"
 UIDevice.current.systemVersion    // e.g. @"15.5"