无法唯一识别设备? [复制]
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识别码,识别浏览器设备唯一性