无法唯一识别设备? [复制]

Posted

技术标签:

【中文标题】无法唯一识别设备? [复制]【英文标题】:Unable to identify device Uniquely? [duplicate] 【发布时间】:2016-03-17 10:57:46 【问题描述】:

我想唯一标识每台设备。我可以使用 UDID 吗?如何唯一识别设备?除了 iPhone 的 UDID。 我想永久识别和验证用户的设备,这样他就不需要从同一设备一次又一次地进行身份验证。如何唯一标识用户的设备?

【问题讨论】:

那你是怎么做认证的呢?为什么不简单地在身份验证层上生成 sessionKey?更重要的是,您在进行身份验证时是否使用 TLS? 【参考方案1】:

这将永远是独一无二的

+(NSString *)getDeviceId

    UIDevice *device = [UIDevice currentDevice];
    NSString  *currentDeviceId = [[device identifierForVendor]UUIDString];
    return currentDeviceId;

【讨论】:

identifierForVendor 保持不变,除非用户删除您公司的所有应用程序,然后重新安装其中一个。在这种情况下,它会改变。【参考方案2】:

更好的选择是使用 UDID。除了 UDID,您还可以注册远程通知并获取设备令牌。设备令牌也是独一无二的。

//swift中的UDID

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

//swift中的设备令牌

func application(application: UIApplication, didRegisterForRemoteNotificationsWithDeviceToken deviceToken: NSData) 
    let characterSet: NSCharacterSet = NSCharacterSet( charactersInString: "<>" )
    let deviceTokenString: String = ( deviceToken.description as NSString )
        .stringByTrimmingCharactersInSet( characterSet )
        .stringByReplacingOccurrencesOfString( " ", withString: "" ) as String

【讨论】:

以上是关于无法唯一识别设备? [复制]的主要内容,如果未能解决你的问题,请参考以下文章

[转] web前端js构造无法销毁的类UUID识别码,识别浏览器设备唯一性

Android设备标识

如何唯一识别ios设备

如何识别设备(唯一标识符、CFUUIDRef、设备令牌?)

如何使用其蓝牙 LE MAC 地址唯一识别 android 设备?

独特的设备识别