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

这会改变吗?我原本想使用 MAC 地址,但显然 7+ 并没有返回它。我从我正在开发的开发应用程序中调用了它,并读到它是使用捆绑 ID 计算的。

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

4

2 回答 2

6

UIDevice类参考

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

于 2015-03-24T12:36:31.987 回答
1

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

因此,UDID 是恒定的,但这不是您所要求的。我不确定有没有办法找到它。我认为这是出于安全原因。

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

于 2015-03-24T12:44:25.427 回答