Inspect the build. Control the handoff.

Read the metadata and provisioning details behind each Release. Check what blocks distribution, then set the password, expiry and delivery limit for its tester links.

Expired-profile checkActual parser output · synthetic metadata fixture
{
  "bundleId": "example.distkit.fixture",
  "profileType": "ad_hoc",
  "profileExpiresAt": "2020-01-01T00:00:00.000Z",
  "bundleMatches": true,
  "profileExpired": true,
  "installable": false
}

The fixture is unsigned and is not an installable app. These fields show an expired profile being blocked by the parser, not a successful signature or device test.

Open the generated JSON

What the package report checks

DistKit parses an IPA or APK. It does not perform complete cryptographic signature verification or certify that a device will install it.

App identity
Name, version, build number, Bundle ID or Application ID, minimum OS or SDK, and icon when present.
iOS provisioning
Distribution type, profile name, Team ID, expiry, device count, and Bundle ID match.
Android package
Installable APK status, target SDK, available signing information, and direct-download readiness.

Read the result, then act

Expired profile
Update the provisioning profile and export a new IPA. Changing the link does not change the package.
Bundle ID mismatch
Check the build target and signing configuration before exporting again.
App Store profile
Use the Apple-managed distribution route, or export a correctly signed Ad Hoc build for registered devices.
Package checks pass
Review link policy next. The target device still needs to meet platform requirements.

App and Release history stay separate.

An App is the durable project. Each upload becomes a Release with its own package report, status, file, and replacement history.

ObjectWhat it keepsPrimary actionStatus
AppPlatform, App ID, and current ReleaseOpen release historyActive
Current ReleaseIPA or APK, metadata, package reportCreate audience linkDistributable
Blocked ReleasePackage report and blocked reasonUpload corrected packageNeeds action

Device follow-up stays explicit.

For Development and Ad Hoc packages, the tester device must be included in the provisioning profile.

  1. 1

    Tester collects the UDID through the explicit device-profile flow.

  2. 2

    Release owner registers it in Apple Developer and updates the profile.

  3. 3

    Owner re-exports the signed IPA and replaces the Release.

Package report, not a device guarantee.

DistKit shows what can be read from the IPA and provisioning profile. It cannot query Apple Developer for every tester or confirm the final iOS installation state.

Read product answers

Keep every build reviewable.

Start with the package report, then publish only the Release and audience policy you intend.