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

如何在iOS中获取用户设备Id?,ios,iphone,Ios,Iphone,我想要用户mobile bcz的设备id我想要在提交表单时将其存储在数据库中,因此,每当用户卸载应用程序并再次重新安装时,他将获得以前提交的所有记录,因此他无需再次提交数据。我使用了库,但它将为所有设备返回相同的id。请提供帮助。提前感谢。您可以为IOS6使用唯一的设备id+ NSString *identifier = [[UIDevice currentDevice].identifierForVendor UUIDString]; 官方文件答案 @属性(非原子、只读、保留)NSUID*i

我想要用户mobile bcz的设备id我想要在提交表单时将其存储在数据库中,因此,每当用户卸载应用程序并再次重新安装时,他将获得以前提交的所有记录,因此他无需再次提交数据。我使用了库,但它将为所有设备返回相同的id。请提供帮助。提前感谢。

您可以为IOS6使用唯一的设备id+

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

官方文件答案

@属性(非原子、只读、保留)NSUID*identifierForVendor

NSString *identifier = [[UIDevice currentDevice].identifierForVendor UUIDString];
对于在同一设备上运行的来自同一供应商的应用程序,此属性的值相同。对于来自不同供应商的同一设备上的应用程序,以及不同设备上的应用程序,无论供应商如何,都会返回不同的值

通常,供应商由App Store提供的数据确定。如果应用程序不是从应用商店安装的(如企业应用程序和仍在开发中的应用程序),则根据应用程序的捆绑ID计算供应商标识符。捆绑ID假定为反向DNS格式

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

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

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


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

这不再可能。苹果在iOS 7中禁用了它(我想),以避免广告公司跟踪用户。我的问题还有其他解决方案吗?我想要一个能兼容所有设备的解决方案,还有其他的库吗?请告诉我。谢谢