iOS的设备identifierForVendor UUID是否始终相同?

时间:2015-03-24 12:31:50

标签: ios objective-c uuid nsuuid

if ([[UIDevice currentDevice] respondsToSelector:@selector(identifierForVendor)]) {
        return [[[UIDevice currentDevice] identifierForVendor] UUIDString];
    }

这会改变吗?我原本想使用MAC地址,但显然7+不会返回它。我从我正在处理的开发应用程序中调用了这个,并读取它是使用包ID计算的。

发布应用商店后,这会永远保持一致吗?

2 个答案:

答案 0 :(得分:6)

来自UIDevice class reference

  

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

答案 1 :(得分:1)

我认为您无法从设备中获取UDID。它需要一些配置文件安装,或者用户需要使用iTunes系统。

所以,UDID是不变的,但那并不是你要求的。我不确定是否有办法找到它。我认为这是出于安全原因。

  

此属性的值对于来自的应用程序是相同的   同一供应商在同一设备上运行。