自(iOS 7 发布)以来,有没有办法在不使用 PC/Mac 上的 iTunes 的情况下获取 UDID?

人气:802 发布:2022-10-16 标签: itunes ios7 udid provisioning-profile

问题描述

我正在为我的公司开发一个应用程序,我们正在通过将他们的 iPad 添加到公司的 iOS 开发中心帐户来慢慢让人们进入测试版".从那里我们为本地 Intranet 分发做了一个临时构建.

I'm developing an app for my company and we're going through the process of slowly letting people into the "beta" by adding their iPads to the company's iOS Dev Center accounts. From there we do an ad hoc build for local Intranet distribution.

在我的最后一次演出中,我会引导人们使用其中一个为我查找我的 UDID"应用程序,然后让他们将找到的 UDID 发送给我.

At my last gig, I would direct people to one of those "find my UDID for me" apps, then get them to send me the UDID it found.

iOS 7 取消了这一点——这些应用程序现在都消失了,如果你还有一个,它会返回一些与 UDID 无关的 GUID.

iOS 7 has cut this off - those apps are all gone now and if you do still have one, it returns some GUID that has nothing to do with the UDID.

所以我要做的就是将这些东西中的每一个都连接到我的 Mac,然后从 iTunes 获取 UDID,这有点麻烦(但比尝试向他们解释如何从 iTunes 获取它更乏味),假设他们甚至安装了它).有时它会尝试与我的 Mac 同步,这似乎除了在设备上放置我不想要的配置文件之外没有任何影响.至少有一次我突然决定将 iPad 本身从 iOS 6 升级到 iOS 7,我不确定这是否与插入电源有关(在这种情况下,用户不希望它升级).

So what I'm having to do is connect each of these things to my Mac, then get the UDID from iTunes, which is kind of a hassle (but less tedious than trying to explain to them how to get it from iTunes, assuming they even have it installed). And sometimes it tries to sync with my Mac, which doesn't seem to have any effect other than putting on provisioning profiles I don't want on the device. And at least once I've had an iPad just suddenly decide to upgrade itself from iOS 6 to iOS 7 which I'm not sure is related to being plugged in (and in this case the user didn't want it upgraded).

那么除了将它插入机器之外,还有其他方法可以从 iPad 获取 UDID 吗?

So is there any other way to get the UDID from the iPad other than plugging it into a machine?

要清楚:我不是要在应用程序中获取 UDID,我只是想想出将 UDID 添加到我们的设备列表中的最快方法用于分发的开发人员配置文件.

TO BE CLEAR: I'm not trying to get the UDID in an app, I'm just trying to think of the quickest way to get the UDID to add to the device list in our developer profile for distribution.

推荐答案

这是我的研究成果:

Apple 从 iOS 7 开始对所有公共 API 隐藏了 UDID.任何以 FFFF 开头的 UDID 都是假 ID.以前工作的发送 UDID"应用程序不能再用于为测试设备收集 UDID.(叹气!)

Apple has hidden the UDID from all public APIs, starting with iOS 7. Any UDID that begins with FFFF is a fake ID. The "Send UDID" apps that previously worked can no longer be used to gather UDID for test devices. (sigh!)

当设备连接到 XCode(在管理器中)以及设备连接到 iTunes 时,UDID 会显示(尽管您必须点击序列号"才能显示标识符.

The UDID is shown when a device is connected to XCode (in the organizer), and when the device is connected to iTunes (although you have to click on 'Serial Number' to get the Identifier to display.

如果您需要获取设备的 UDID 以添加到配置文件中,并且无法在 XCode 中自行完成,则您必须引导他们完成从 iTunes 复制/粘贴的步骤.

If you need to get the UDID for a device to add to a provisioning profile, and can't do it yourself in XCode, you will have to walk them through the steps to copy/paste it from iTunes.

更新——请参阅下面的okiharaherbst 的答案,了解基于脚本的方法,允许测试用户向您提供他们的设备 UDID通过在服务器上托管 mobileconfig 文件

UPDATE -- see okiharaherbst's answer below for a script based approach to allow test users to provide you with their device UDIDs by hosting a mobileconfig file on a server

515