If you wake up to find a previously-working iOS app suddenly broken — and not just for you, but for everyone using it — Apple has revoked the certificate that signed it. Here's the practical recovery playbook.

How to detect a revoke

Telltale signs:

  • The app worked yesterday, doesn't today
  • It's broken for multiple users at the same time
  • Error: "Unable to Verify App" or app crashes on launch
  • Re-installing doesn't help
  • iOS's "Untrusted Enterprise Developer" warning appears in Settings

Confirm by checking on another device. If multiple devices stop working at the same moment, it's a revoke (not a local problem).

Why Apple revokes certificates

Apple monitors Enterprise certificates via:

  • Install volume from unrelated geographies
  • Public-facing distribution (websites advertising the signed app)
  • Reports of certificates being used outside the issuing organization
  • Apps that violate App Store guidelines (emulators, gambling, adult content, etc.)
  • Reseller activity (one cert used to sign for hundreds of unrelated apps)

Development and Ad-Hoc certs are rarely revoked — they have built-in scale limits.

What happens technically

Apple maintains an OCSP (Online Certificate Status Protocol) list. When your device tries to launch a sideloaded app, iOS sends the certificate's serial to Apple's servers. If Apple has flagged that serial as revoked, iOS receives "invalid" and refuses to run the app.

This check happens every time the app launches (and at install). It's why you can't just put the device in airplane mode to bypass the revoke check — iOS caches recent results, and after a few hours the app stops launching regardless.

Recovery: re-sign with a fresh certificate

The only recovery is a re-sign. The flow:

  1. Get your original .ipa file (or the source build).
  2. Hand it to a signing service that has a working, non-revoked certificate.
  3. They strip the dead signature and apply a fresh one.
  4. You receive a new install link.
  5. Users uninstall the broken app and install the new one.

App data is preserved as long as the bundle ID stays the same. See: does re-signing keep app data?

How long does a fresh certificate last?

That depends on how it's used. The certificate itself has a 1-year nominal validity, but Apple can revoke at any time. Best practices to avoid future revokes:

  • Don't distribute publicly via search-indexable web pages
  • Keep audience as targeted as possible
  • Avoid content that violates App Store guidelines
  • Use multiple certs rotated across smaller user groups (signing services do this automatically)

For Developer certs (rare but possible)

Development certs revoke is rare. If yours does:

  • Confirm it's actually a revoke vs just a 7-day expiry
  • Re-sign with a fresh Developer cert
  • Your UDID still works as before

If you're hit by a revoke right now, a re-sign is available within minutes.