UDID

What Is an iPhone UDID?

Understand the physical-device identifier Apple uses for registered-device testing, when developers need it, and what happens after collection.

An iPhone UDID is the device identifier Apple uses to represent a physical Apple device registered to a developer team for testing. In Apple’s device resource, the record is identified by its UDID and device type. For Development or Ad Hoc distribution, that record can be selected in a provisioning profile that authorizes a signed app to run on the device.

A UDID is not an install code and not proof that someone owns the phone. It is one input in a longer authorization chain.

Where the UDID fits

For registered-device delivery, the relationship is:

physical Apple device
  → UDID obtained from that device
  → device record in the correct Apple Developer team
  → device selected in a Development or Ad Hoc profile
  → profile embedded in a correctly signed IPA
  → iOS evaluates that authorization during installation and launch

Registration links the device to one developer team’s testing inventory. The provisioning profile then joins that team, app identity, signing certificates, allowed capabilities, validity period, and—where applicable—the selected devices. The IPA must contain the refreshed profile and a compatible signature.

This is why sending a UDID does not instantly make an old IPA installable. The build produced before registration still contains its earlier authorization state.

Why a developer asks for it

A developer or agency normally requests an iPhone UDID when all of these are true:

Apple’s current registered-device workflow requires test devices to be registered before a Development or Ad Hoc profile is created. Testers do not need to become Apple Developer team members, but their devices consume the team’s registered-device capacity.

When a UDID is not the onboarding input

TestFlight uses App Store Connect tester invitations and the TestFlight app; developers do not normally collect tester UDIDs for that workflow. Public App Store installs also do not use a developer-managed device list.

Custom Apps, managed apps, proprietary in-house apps, and other organizational distribution paths have their own eligibility and device-management models. Do not assume a UDID collected for Ad Hoc testing is required—or sufficient—for those routes.

If someone only needs to send push notifications, attribute advertising, or identify an app installation to its vendor, the relevant identifier comes from a different API. None of those values should be entered into Apple’s registered-device form as a UDID.

UDID versus other identifiers

Several identifiers can appear on or around an iPhone, but they describe different relationships:

Apple also exposes other application- or account-scoped identifiers for specific services. A value called “device ID” in analytics, push, mobile networking, or an app database is not automatically a UDID.

Can a website read an iPhone UDID?

An ordinary webpage does not receive the Apple Developer registration UDID through normal JavaScript browser APIs. A page that claims it can silently read the value should be treated skeptically.

Computer-based collection through Finder or Xcode is the clearest supported path. Some remote onboarding services use an explicit configuration-profile or device-enrollment flow that asks for consent and sends selected device attributes to a server. That is a managed server workflow, not passive browser fingerprinting. See Find an iPhone UDID Without a Computer for its privacy and support boundaries.

Do not reduce UDIDs to one guessed format rule

Apple’s current registration workflow is authoritative about whether a device ID is accepted for the selected platform. Avoid promises that every current and historical Apple device identifier has one fixed presentation or length.

A local format check can catch separators, whitespace, non-hexadecimal characters, or obvious truncation. It cannot prove that the value came from the intended phone, belongs to a consenting tester, or is eligible in the selected team. Use Invalid iPhone UDID for rejected values and the browser-local UDID Validator only as a first-pass check.

The safe UDID lifecycle

  1. Obtain the identifier from the physical device. Use Finder or Xcode, or an approved consented remote workflow. Find an iPhone UDID covers the supported computer paths.
  2. Validate the handoff. Confirm the value is complete and attached to the expected tester and current phone.
  3. Explain and capture consent. State which app/team needs it, why, and how long it will be retained.
  4. Register it in the correct team. The team that owns the app must create or use the device record.
  5. Refresh the intended profile. Select the registered device in the correct Development or Ad Hoc profile.
  6. Produce a replacement artifact. Export a new build or perform an authorized re-sign with compatible app-owner assets.
  7. Verify the final IPA and installation. Inspect the embedded profile and test the exact delivered artifact on an eligible device.

The iPhone UDID registration guide owns the manual account workflow. If registration is correct but the IPA still omits the device, use Device Not in Provisioning Profile.

A UDID is a persistent device identifier, so handle it as controlled operational data even though it is not a password. Collect it only for a stated testing purpose, restrict access to the people managing that release, avoid public tickets and chat logs, and set a retention/deletion policy.

The tester should know which organization receives the value and what happens next. A submitted UDID does not justify collecting an Apple Account password, device passcode, signing certificate, P8 key, P12 file, or IPA from the tester.

For repeated client onboarding, Client Device Onboarding explains the operational system around consent, registration, profile refresh, artifact replacement, and delivery. This reference page defines the identifier; it does not replace those workflow controls.

Related next steps

Next step. Find and validate the identifier, then give it only to the authorized team that owns the test build. Join Early Access.

Sources