iOS 设备 UDID 获取教程,几种查询方法与测试设备添加实操

iOS 设备 UDID 获取教程,先说明 UDID 是每台 iOS 设备的唯一标识(40 位十六进制字符)、与序列号的区别,以及描述文件未包含目标设备 UDID 时开发版 IPA 装不上手机的后果;再对比四种获取方式——iTunes 方式、Finder 方式、网页方式、Appuploader 自动读取;最后给出拿到 UDID 后的完整流程:开发者后台注册设备、重新生成 Development 类型描述文件并勾选新设备、更新签名配置重新编译,以及装不上时的排查顺序。

以前给新 iPhone 加测试设备,我的流程是打开 iTunes,连上设备,在设备摘要页点序列号那一栏让它切换显示 UDID,再右键复制,把一长串字母数字粘到开发者后台。换一次设备就折腾一遍,直到用了能自动读取的工具,才觉得这步本来可以不用这么费事。这篇把 iOS 设备 UDID 的几种获取方式都过一遍,顺带说清拿到之后怎么用。

UDID 是什么

先说 UDID 是什么。UDID(Unique Device Identifier)是每台 iOS 设备的唯一标识,一长串 40 位的十六进制字符。它和序列号不是一回事,序列号在设置里就能看到,UDID 苹果不给普通用户直接显示。开发者场景下它的作用很具体:要把某台设备加进测试设备列表,或者让某台设备能安装你的开发版 IPA,都得先拿到这台设备的 UDID。描述文件里没有包含目标设备的 UDID,编译出来的包装不上手机,报错提示就是设备未授权或未注册一类。

iTunes 和 Finder 方式

最传统的方式是 iTunes。iPhone 连上电脑,在 iTunes 里点中设备,进入摘要页,默认显示的是序列号,点一下序列号那行文字会切换成 UDID,右键可以复制,一长串就是。macOS Catalina 之后 Finder 取代了 iTunes 管理设备的位置,操作逻辑一样:侧边栏选中设备,点序列号区域切换显示 UDID。两条路的共同点是都依赖苹果自家工具,Windows 机器没装 iTunes 还得先装一遍,装了之后设备连不上又多是驱动问题。

网页方式

网页方式适合手机在手边、想省掉电脑端操作的情况。手机用 Safari 打开提供 UDID 查询的网页,页面提示安装一个描述文件,安装完成后网页直接读出这台设备的 UDID 显示出来,复制走人。它的机制是网页通过描述文件携带的设备信息读取 UDID,拿到的值和 iTunes 一致,可以用来添加测试设备。

用 Appuploader 自动读取

如果电脑上装了 Appuploader,拿 UDID 会更省事:设备用数据线连上电脑,工具自动读取当前连接设备的 UDID,不用点来点去,也不用记序列号切换的位置。它的设备管理模块直接维护账号下的测试设备清单,读取到的设备可以加进清单并同步到开发者账号,不用在 Apple 官网和工具之间来回切换。跨平台团队在 Windows 上做 iOS 开发时,Appuploader 直接读 USB 设备,省掉 iTunes 那套依赖,这步尤其省心。

拿到之后怎么用

拿到 UDID 之后要做的事:登录开发者后台,在 Devices 里把设备注册进去(需要付费开发者账号),然后重新生成描述文件——Development 类型的描述文件创建时要勾选测试设备,新设备不勾进去,之前编译的包照样装不上。在 Appuploader 里重新生成描述文件时记得勾上这台设备,再更新打包工具的签名配置,重新编译,走安装测试。

装不上时怎么查

装不上时按这个顺序查:证书是不是开发证书、描述文件里有没有包含目标设备 UDID、设备有没有开启开发者模式并信任电脑。扫码安装的前提是描述文件已包含该设备 UDID 且账号支持,USB 安装则要求装好 iTunes、设备解锁并点信任。

UDID 获取的几种方式,区别只在于要不要装苹果自家工具、要不要手动复制。按手头的环境选一种,把"获取 UDID、加测试设备、重生成描述文件"的流程固定下来,后面每来一台新设备就是重复一遍。