iPhone模拟器的UDID对于每个安装实例是唯一的吗?

8
即这个调用是否:
NSString *udid = [UIDevice currentDevice].uniqueIdentifier;

当在任何Mac电脑上执行iPhone模拟器时,返回的UDID是否总是相同的?

目前,我的计算机上的iPhone模拟器返回“2BA99337-3AE2-5234-93DA-193703B876F8”。

4个回答

45

模拟器的UDID实际上与您的Mac的UDID相同。 您可以通过查看系统信息实用程序(其中称为硬件UUID)轻松验证此信息。

在iPhone、iPad和iPod Touch上,它是40个小写十六进制数字,很可能是某些硬件标识符的SHA1哈希值。


6
在Xcode下运行模拟器(开发者工具->iOS模拟器),我从列表中选择的每个虚拟设备(硬件->设备->管理)都显示不同的标识符,而且没有一个与我的Mac UUID相似。 - ronedg
他们可能根据iOS 7对UDID的更改,调整了Xcode 4的行为。在iOS 7中,UDID现在是“ffffffff”,后面是去掉连字符的identifierForVendor。 - Fazal Majid

15

Xcode为您提供以下数据:

  1. 在Xcode 5中:打开“组织者”
  2. 点击“My Mac”
  3. 查看机器的标识符。

    -OR-

  4. 在Xcode 6中:打开“设备”(CMD+SHIFT+2 -OR- 窗口-> 设备)

  5. 选择正在运行的模拟器
  6. 查看模拟器的标识符

1
我找不到“我的Mac”在哪里。你的第一步是不是应该说“打开设备”而不是“打开文件”? - Matt Parkins
1
@MattParkins 我已经更新了我的答案,以尊重您的观察,即我当时只考虑了Xcode 5。现在我也添加了Xcode 6。 - cynistersix

4
打开终端并输入system_profiler SPHardwareDataType - 在Hardware UUID下面的输出是用于运行在该特定计算机上的所有iOS模拟器实例的ID。

3
在我的情况下这不正确。 硬件UUID: B8EBD816-974E-57F2-BF3C-F60385B3EFE1, Xcode模拟器标识符:66742464-8B19-4D25-B132-F5DE75CB296C, [[UIDevice currentDevice] identifierForVendor]: CC6E8A6F-40CD-40DA-A7DB-C5BF19527467, macOS版本:10.11.6, Xcode版本:8.1(8B62), 模拟器:iPad Air(iOS 9.3)。 - jk7

4

我的UDID从iPhone模拟器中报告为03B41D62-FB69-5B6D-A95E-473842F4DFE3,所以看起来你是正确的。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接