如何在iOS中获取用户设备ID?

时间:2014-12-20 14:23:43

标签: ios iphone

我想要用户移动设备ID bcz我想在提交表单时将其存储在数据库中,这样每当用户卸载应用程序并再次重新安装时,他将获得之前提交的所有记录,以便他不需要再次提交数据。我使用了库,但它将为所有device.please help返回相同的id。提前谢谢。

2 个答案:

答案 0 :(得分:2)

官方文件回答

@property(nonatomic,readonly,retain)NSUUID * identifierForVendor

NSString *identifier = [[UIDevice currentDevice].identifierForVendor UUIDString];

对于来自同一设备上运行的同一供应商的应用,此属性的值相同。对于来自不同供应商的同一设备上的应用程序以及不同供应商的不同设备上的应用程序,将返回不同的值。

通常,供应商由App Store提供的数据确定。如果未从应用商店安装应用(例如仍处于开发阶段的企业应用和应用),则会根据应用的捆绑ID计算供应商标识符。假设捆绑包ID采用反向DNS格式。

在iOS 6上,捆绑包ID的前两个组件用于生成供应商ID。如果捆绑包ID只有一个组件,则使用整个捆绑包ID。

在IOS 7上,除最后一个组件外,捆绑包的所有组件都用于生成供应商ID。如果捆绑包ID只有一个组件,则使用整个捆绑包ID。

如果值为nil,请稍后再次获取该值。例如,在设备重新启动之后但在用户解锁设备之前,会发生这种情况。

在iOS设备上安装app(或来自同一供应商的其他应用)时,此属性中的值保持不变。 当用户删除所有内容时,该值会更改来自设备的供应商应用程序,然后重新安装其中一个或多个。使用Xcode安装测试版本或使用ad-hoc分发在设备上安装应用程序时,该值也会发生变化。因此,如果您的应用程序将此属性的值存储在任何位置,则应优雅地处理标识符更改的情况。

答案 1 :(得分:1)

您可以使用唯一的设备ID FOR IOS6 +

NSString *identifier = [[UIDevice currentDevice].identifierForVendor UUIDString];