AppForShare

Diawi UDID: check if an iPhone is in the build before sending the link

· 7 min read

Diawi UDID: check if an iPhone is in the build before sending the link

An Ad Hoc iOS build installs only on iPhones whose UDID is in its provisioning profile. The trouble is that nobody finds out until the tester taps Install and iOS refuses. Then come the screenshots, the "can you send me your UDID again", the new build and the new link. Checking first saves a round trip. This guide shows how Diawi helps with that, how to check a build's device list yourself, and how AppForShare install pages now tell a tester before the tap.

Why the check matters

Every Ad Hoc and Development build carries a profile with a fixed list of devices. Adding a device in the Apple Developer portal does not change builds you already made. You have to regenerate the profile and build again. So the question "is this iPhone in this build" has a yes or no answer, and it can be answered before anyone installs.

When the answer is no, the tester sees "This app cannot be installed because its integrity could not be verified" or "Unable to install". See fixing integrity could not be verified for the other causes of that message.

How Diawi shows UDIDs

Diawi's install troubleshooting page describes three parts:

  • The build's device list. The Diawi dashboard and the install page list the UDIDs in the uploaded app's profile.
  • My Device. A tester can identify their device in Diawi's web app at webapp.diawi.com. After that, Diawi's install page warns them when their device is not in the list.
  • Find by UDID. An upload option that lets a tester see apps that include their device.

This works, and if your testers already use My Device, it does the job. The weak spot is that the tester has to know about the web app and identify the device there first, and the developer still has to collect the UDID by some other route.

InstallOnAir handles it in a similar way. As read on its FAQ in November 2026, a grey icon after install means the UDID is not in the provisioning profile and the tester should ask the developer, and its free plan lists a UDID finder. More on the grey icon in iPhone app icon stays grey after install.

Check the device list yourself

Before you send any link, you can check a build in a few seconds:

  • In the browser: open the free IPA inspector and drop the .ipa. It reads the file locally, without uploading it, and shows the distribution type, the profile's expiry, and the full UDID list with search and copy all.
  • On a Mac: extract the profile and print it.
unzip -p App.ipa 'Payload/*.app/embedded.mobileprovision' > app.mobileprovision
security cms -D -i app.mobileprovision | grep -A200 ProvisionedDevices

If you have the tester's UDID, search for it. If it is not there, stop and rebuild before sending the link.

Get the tester's UDID

A UDID is not shown anywhere in the iPhone's Settings app. The usual ways are Finder on a Mac with a cable, or a configuration profile that reads it. Our free UDID finder is the second kind: the tester opens /udid in Safari, installs a signed profile, and sees the UDID with the model and iOS version. They can copy it, email it, or save it to an account. Lookups are deleted after 1 day.

On Pro and Team you can skip the copy and paste. An iOS project's onboarding link lets testers send their iPhone straight into your device list. You register it on Apple from AppForShare, the Ad Hoc profile is remade with every enabled device, you build again, and the tester gets one email with the install link when a build that includes their iPhone is uploaded. See iOS device registration.

Remember this device: the check before the tap

This is new on AppForShare, on every plan including Free. After the UDID check at /udid, the tester can tap Remember this device. Their browser then keeps a signed cookie for that iPhone. Nothing about the device is stored on our side beyond the usual 1 day lookup, and the tester can forget it on any install page with "Not your iPhone? Forget it".

From then on, every AppForShare iOS install page the tester opens says whether the build includes their iPhone, before the Install button:

  • In the build: the tester installs as normal.
  • Not in the build: the page says so. If the developer has the project's onboarding link on, the tester can send the iPhone to the developer from the page. If not, they can copy the UDID and send it however they like.

Because the cookie belongs to the tester's browser on appforshare.io, it works for every build shared from appforshare.io, whoever the developer is. The tester checks once, not once per project. Install pages on a team's own custom domain are a different site, so the tester checks there separately.

Diawi and AppForShare side by side

DiawiAppForShare
Build's UDID listDashboard and install pageBuild page, and the free IPA inspector
Warn a tester whose device is missingAfter they identify the device in Diawi's web appAfter one check at /udid and Remember this device (Free)
Collect the UDIDNot described on the plans page/udid finder (Free); onboarding link into your device list (Pro)
Register on Apple and remake the profileNoPro and Team, with an App Store Connect connection
Email the tester when a build with their iPhone is readyNoYes, through the onboarding link (Pro)
Fully automatic registration and buildNoTeam: hands free device setup on your own GitHub Actions

Diawi's "find by UDID" lists apps for a device across uploads. AppForShare's closest match is on Team: the tester app shows builds shared with an invited tester. Neither tool can add a device to a build that is already made. That is Apple's rule.

Mix-ups that look like a missing UDID

  • A new phone. A UDID belongs to the device. A tester who moved to a new iPhone, even restored from a backup, has a new UDID.
  • The iPad instead of the iPhone. Testers often send the UDID of the device they had at hand. Check the model next to the UDID.
  • Registered, but not in the profile. A device added to the Apple Developer portal after the profile was made is not in builds signed with that profile. Regenerate it.
  • Disabled on Apple. A disabled device is left out of profiles you make afterwards.
  • A typo. A UDID typed by hand from a screenshot is easy to get wrong. Copy it from /udid instead.

What the tester sees, step by step

  1. They open your install link in Safari on the iPhone.
  2. If they have not checked the device before, the page offers the UDID check. They install the profile at /udid, see their UDID and tap Remember this device.
  3. Back on any AppForShare iOS install page, a line above the button says whether this build includes their iPhone.
  4. If it does, they tap Install. If not, they send the iPhone to you from the page, or copy the UDID, and wait for the email or message that a new build is ready.

Nobody has to install a build only to find out it cannot work.

A workflow that avoids the round trip

  1. New tester? Send them /udid first, or your onboarding link on Pro.
  2. Register the device and regenerate the Ad Hoc profile.
  3. Build, then check the .ipa's device list before sharing.
  4. Share one stable link, such as a channel link, so testers do not need a new address per build.
  5. Testers who tapped Remember this device see at a glance whether each build is for them.

For the full device setup, read iOS ad hoc device registration. To compare the tools more widely, see AppForShare vs Diawi.

Common questions

Can I add a UDID to a build that is already uploaded?

No, on any service. Register the device, regenerate the profile and build again.

Does Remember this device work in any browser?

It is kept in the browser where the tester tapped it. Use Safari, since iOS installs start from Safari anyway. A private tab does not keep it.

Is the UDID sent to every developer?

No. The install page only answers "in this build" or "not in this build". The tester decides whether to send their iPhone or copy the UDID.

How many devices can a build include?

Apple allows 100 devices per device type, such as iPhone or iPad, per membership year. Disabled devices keep their slot until renewal.

Keep reading

App Distribution Platform · · 5 min read

AppForShare File Size and Upload Limits

AppForShare limits the size of each build you upload by plan: 50 MB without an account, 150 MB on the Free plan, 2 GB on Pro and 4 GB on Team. Accounts also have a storage total, and every plan...