iPhone XS 没有 UDID

Posted

技术标签:

【中文标题】iPhone XS 没有 UDID【英文标题】:iPhone XS doesn't have UDID 【发布时间】:2019-02-27 14:36:27 【问题描述】:

我想在 Apple 开发者门户中添加 iPhone XS UDID,但我无法在 iTunes 中找到 UDID,如果不添加 UDID,我将无法在 iPhone XS 上运行我的应用程序。我尝试添加 ECID 和 SEID,但没有成功。

我也找不到任何关于 UDID 在 Google 上消失的信息。

谁能帮我弄清楚如何在 Apple 开发者门户中注册 iPhone XS?

【问题讨论】:

它没有显示 UDID 我已经检查过了。 当您将设备连接到您的计算机并尝试通过 Xcode 构建和运行时,它会为您提供将设备添加到开发人员门户。如果用户通过 TestFlight 安装,它也会自动发生。为什么需要手动操作? 使用终端查找新 iPhone 和 iPad 的 udid:***.com/a/52997294/342794 当团队成员(设计人员、测试人员等)没有安装 XCode 时,终端是有用的替代方案。或者需要远程访问设备的 UDID。 ***.com/a/52997294/342794 【参考方案1】:

对于 iPhone XS/XS Max 以及可能在 Itunes 中不显示 UUID 的其他 iPhone: - 打开 Xcode - 窗口 -> 设备和模拟器 -> 选择您的 iPhone -> 使用“标识符”,如下所示:

【讨论】:

这显然是最好的答案 - 无需离开 Xcode! 但是您的测试人员需要安装 XCode 当你有一个远程设备场时,事情也会变得复杂。 ***.com/a/52997294/342794 @AshleyMills 开发人员门户网站说它无效。有什么想法吗?【参考方案2】: 转到“->关于本机”。 单击“系统报告”并选择“USB”。 找到您的手机,“序列号”字段就是您想要的。 注册新设备时复制此值并粘贴到开发者门户中;您需要在第 8 位后插入 - 。

您还可以从 Xcode 的“设备”窗口获取“标识符”,或者让 Xcode 直接更新门户。

【讨论】:

它一直抱怨这不是一个有效的 UDID :( 可以通过Xcode添加设备吗?我知道 iPhone XS 序列号格式已经改变,但我原以为开发者门户已经为改变做好了准备。我没有要测试的 XS。 这种方法有效,只是在新的 UDID 格式的第 8 个字符之后缺少一个破折号。 添加“-”很重要。刚刚在答案中添加了屏幕截图。 这对我不起作用。所以事实证明 UDID 是正确的......但由于某种原因 UDID 需要小写!!!在我降低所有内容之后,它被接受了。 @Mehul【参考方案3】:

您可以使用以下公式从 iTunes 显示的 ECID 编译 UDID(适用于 XS 和 XS Max)

0000CHIP-00ECID

XS/XS Max 机箱中的 CHIP 版本为 8020 (source for it)

因此,如果您想计算 XS/XS Max 的 UDID(并且我相信 XR 具有相同的芯片),那么您需要将 ECID 替换为您自己的:

00008020-00ECID

要查找 ECID,请将 iPhone 连接到 iTunes 并单击序列号,ECID 将显示出来。

编辑:对于 XR,公式为:00008020-000ECID,因为 ECID 少了一个字符

【讨论】:

【参考方案4】:

获取 XS 的 UDID 的最佳方式是(如果您是开发人员)

    将您的设备连接到您的 mac 打开 Xcode 打开窗口->设备和模拟器 选择您的设备 您将在类似于下图的屏幕中看到标识符

【讨论】:

【参考方案5】:

打开 Xcode -> 窗口 -> 设备和模拟器 -> 选择您的 iPhone -> 标识符

复制标识符的值。这是 UDID

【讨论】:

【参考方案6】:

使用终端“system_profiler”查找连接设备的 UDID

如果您习惯使用终端,可以将此命令粘贴到终端或将其保存为 script or alias。

system_profiler SPUSBDataType -detailLevel mini | \
grep -e iPhone -e Serial | \
sed -En 'N;s/iPhone/&/p'

将该文本粘贴到终端并按回车键为 USB 设备运行 system_profiler,然后从相当长的输出中仅过滤 iPhone 的 UDID。同样,请务必在 iPhone XS 和 XS Max 设备的前八位数字后添加必要的连字符。

终端输出:

$ system_profiler SPUSBDataType -detailLevel mini | \
grep -e iPhone -e Serial | \
sed -En 'N;s/iPhone/&/p'
Output:
2018-10-25 12:57:06.527 system_profiler[23461:6234239] SPUSBDevice: 
IOCreatePlugInInterfaceForService failed 0xe0003a3e
        iPhone:
          Serial Number: 3aeac....4145

忽略以下失败 2018-10-25 12:57:06.527 system_profiler[23461:65234239] SPUSBDevice: IOCreatePlugInInterfaceForService failed 0xe0003a3e

寻找Serial Number: 3aeac........4145

别名:

# find UDID
alias fudid="system_profiler SPUSBDataType -detailLevel mini | grep -e iPhone -e Serial | sed -En 'N;s/iPhone/&/p'"

发件人:https://deciphertools.com/blog/2014_11_19_how_to_find_your_iphone_udid/

【讨论】:

【参考方案7】:

只是结合互联网上所有不同的答案:-

在 MacOS 中:-

对于在 Itunes 中不显示 UDID 的 iPhone,对于使用 MacOS 的用户,有两种方法:-

如果您是开发人员,您可以通过这两种方法获取 UDID。但是,如果您需要客户 iPhone 的 UDID 号码,或者现场其他人的 UDID 号码,或者其他人的 Mac 中没有 Xcode,那么对他们来说,第二种方法是最好的。

    在 Mac 中使用 USB 连接 iPhone。打开 Xcode --> Window --> Devices & Simulators --> 选择你的 iPhone -> 复制“标识符”。那是 iPhone 的 UDID 号码。

    例如:- 它应该像这样“98gfhgd6-7f1a06b4f60156f1949fbytrd205c1f0。

    在 Mac 中使用 USB 连接 iPhone。点击左上角苹果图标“”-->“关于本机”-->“系统报告”--左侧面板选择“USB”-->右上角窗口选择“iPhone”-- > 复制并粘贴序列号值。然后,您需要在第 8 位后添加 -。

    例如:如果您的序列号为 “98gfhgd67f1a06b4f60156f1949fbytrd205c1f0”,添加后 - 它应该 像这样:“98gfhgd6-7f1a06b4f60156f1949fbytrd205c1f0”。

在 Windows 中:-

注意:如果您使用的是 Windows PC,那么您可以使用第三方工具(如 Windows 的 iFunBox 等)来获取 iPhone XS 和 iPhone XS Max 的 UDID。这是一种更简单的方法。 Mac 版 iFunBox 似乎没有提供 UDID。

【讨论】:

【参考方案8】:

必须更新到 XCode10 并点击窗口 -> 设备和模拟器 -> 选择您的 iPhone -> 使用“标识符”

【讨论】:

【参考方案9】:

您还可以使用 https://get.udid.io 获取 iPhone XS 的 UDID

【讨论】:

为什么是 -1 ?我很高兴长时间使用它。我可以推荐这个页面。【参考方案10】:

考虑到您使用的是 macOS catalina,并且没有 iTunes,您可以执行以下操作:

    转到 Finder,从侧边栏中选择设备 选择常规选项卡,您可以查看设备名称、型号和其他详细信息,如下图所示: 最后,点击设备名称下方的型号,它将变为显示序列号和UDID,如下图所示。

【讨论】:

【参考方案11】:

iPhone XS 和 XS max 的 UDID 不再容易在 iTunes 中显示。前面的步骤有效,但需要再添加一个,将检索到的 UDID 小写。

1.将 iPhone 连接到 Mac

2.转到关于本机

3.单击“系统报告”并从左侧面板中选择“USB”。

4.找到您的 iphone 并查找“序列号”字段。这就是你需要的。

5.复制此“序列号”并在开发者门户中注册设备。确保开发人员门户识别设备型号。 (作为 开发人员门户在以下情况下识别设备型号以获得有效的 UDID 注册设备)。

序列号不带连字符。确保添加连字符 在前 8 个字符之后。示例:XXXXXXXX-XXXXXXXXXXXXXXX

添加 6。所有字母小写。

【讨论】:

这与@Paulw11 的回答相同 对我来说它们不需要小写。【参考方案12】:

1.将 iPhone 连接到 Mac

2.转到关于本机

3.单击“系统报告”并从左侧面板中选择“USB”。

4.找到您的 iphone 并查找“序列号”字段。这就是你需要的。

5.复制此“序列号”并在开发者门户中注册设备。确保开发人员门户识别设备型号。 (因为开发者门户在注册设备时会识别设备型号以获得有效的 UDID)。

    序列号将不带连字符。确保在前 8 个字符后添加连字符。示例:XXXXXXXX-XXXXXXXXXXXXXXX

【讨论】:

这与@Paulw11 的回答相同 @AshleyMills 这不是保罗的答案。我按照他的回答,但没有奏效。这就是为什么我复制粘贴了他的答案并添加了一个额外但关键的步骤。

以上是关于iPhone XS 没有 UDID的主要内容,如果未能解决你的问题,请参考以下文章

如何在 Xcode 9.2 和 iPhone XS max 中添加模拟器 iPhone XS

iPhone XR / XS / XS Max CSS 媒体查询

iOS App Icon启动图尺寸配置适配iPhone XS XR XS Max等

XML问题为啥有些XML文档有xs:而有些没有

苹果 xs无法开机要怎么办?

iPhone XR/XS:AVAssetExportSession 状态失败并出现错误