AppForShareShare a build

Free tool

Provisioning profile inspector

Drop a .mobileprovision to see its type, App ID, team, certificates with their expiry, entitlements and every UDID in it. Add the .ipa and see why a device would refuse the install. It runs in your browser, so nothing is uploaded.

What it checks

Profile type

Ad Hoc, Development, App Store or Enterprise, read from the profile itself, with the App ID, wildcard or explicit, and the team.

Certificates with expiry

Every signing certificate in the profile with its name, team, the date it ends and its SHA-1 fingerprint.

Entitlements and devices

What the profile grants (push, associated domains, app groups and more) and every UDID in it, with a search box.

Why it will not install

Drop the .ipa too: expired profile, App Store signing, a UDID that is not in the profile, a bundle ID the profile does not cover, entitlements the profile does not grant, and a wildcard App ID with push or associated domains.

Questions

Is my profile or IPA uploaded?
No. Both files are read in your browser with JavaScript and never leave your device. The tool works on a profile alone, an .ipa alone, or both together.
How do I find the .mobileprovision file?
Download it from the Apple Developer portal (Certificates, Identifiers and Profiles, then Profiles), or find the ones Xcode uses in ~/Library/Developer/Xcode/UserData/Provisioning Profiles on your Mac. Every .ipa also carries one as Payload/<App>.app/embedded.mobileprovision; drop the .ipa and the tool reads it from there.
How can I tell an Ad Hoc profile from a Development one?
Both list devices. A Development profile allows debugging (get-task-allow is true); an Ad Hoc profile does not. An App Store profile lists no devices, and an Enterprise profile provisions all devices.
Why does a wildcard App ID cause trouble?
A wildcard App ID such as ABCDE12345.* or com.acme.* can sign many apps, but Apple does not allow capabilities like push notifications or associated domains on it. If the app was signed with those entitlements, iOS refuses the install. Make an explicit App ID for the bundle ID with those capabilities and a profile for it.
Does this tool fix signing?
No. It reads the files and explains what it finds. Changes are made in the Apple Developer portal and in Xcode, and you export the build again. AppForShare never signs or re-signs builds.
A tester says the app will not install. What do I check first?
Drop the .ipa you sent and type the UDID of the tester. If the UDID is not in the profile, register the device, add it to the profile and export again. With AppForShare Pro the onboarding link collects UDIDs and registers devices on Apple for you.

More free tools: all tools, IPA inspector, UDID finder.