Can you sign an IPA online?
Not safely, and you probably don't need to. Signing an iOS app requires your Apple distribution certificate and its private key. Any website offering to sign an .ipa for you is asking you to upload that key — and whoever holds it can ship software signed as you. BetaDrop does not offer online signing, and we'd suggest not using anything that does.
The good news is that most people who search for this already have a signed build. What they're actually stuck on is getting it onto someone else's phone. That part is easy, and it doesn't involve re-signing anything.
Never upload a .p12 or private key to a website
A distribution certificate's private key is the credential that proves an app came from you. Leaked, it can be used to sign malware that installs on your users' devices carrying your identity — and revoking it invalidates every build you have already shipped. Signing belongs on a machine you control.
Do you actually need to re-sign?
| Your situation | Re-sign? | What to do |
|---|---|---|
| Exported from Xcode or CI as ad-hoc | No | It is already signed. Share it. |
| Tester's device not in the profile | No — rebuild | Add the UDID in the Apple portal, then rebuild. |
| App Store build, want to test ad-hoc | Yes | Re-export from Xcode with an ad-hoc profile. |
| Certificate expired | Yes | Renew the certificate, then rebuild. |
You only have someone else's .ipa | Can't | You need their signing identity. Ask them to rebuild. |
Notice how often the answer is “rebuild” rather than “re-sign”. Re-signing an existing binary is a workaround for not being able to build; if you have the project, building again is simpler and safer.
How to sign for ad-hoc distribution
- Collect each tester's UDID — the UDID checker gets it from their device in a couple of taps.
- Add those UDIDs to your Apple Developer account and regenerate the ad-hoc provisioning profile.
- In Xcode: Product → Archive → Distribute App → Ad Hoc, selecting that profile. On CI, fastlane's
gymwithexport_method: "ad-hoc"does the same. - Check the result with the provisioning profile decoder or the IPA inspector — both show which devices the build will actually install on.
Every step runs on a machine that already holds your signing identity. That is the whole reason online signing services shouldn't exist.
Getting the signed build to your testers
Once the .ipa is signed, BetaDrop turns it into an install link and QR code. It generates the itms-services manifest iOS needs, so a tester installs straight from Safari — no TestFlight, no App Store review, no tester account. Your signing key never leaves your machine, because we never ask for it.
Frequently asked questions
Can I sign an IPA online?
Not safely. Every "sign IPA online" service works the same way: signing requires your Apple distribution certificate and its private key, so the site is asking you to upload that private key. Whoever holds it can sign software as you. Signing should happen on a machine you control — Xcode, fastlane, or your CI — and BetaDrop never asks for it.
Do I actually need to re-sign my IPA?
Usually not. If you exported the .ipa from Xcode or a CI build, it is already signed and ready to install. Re-signing is only needed when the build was signed for a different purpose than you are using it for — for example an App Store build you now want to install ad-hoc, or a build whose provisioning profile does not include the tester's device.
Why does my IPA fail to install on a tester's iPhone?
The most common cause is that the device's UDID is not in the provisioning profile the build was signed with. Ad-hoc distribution only installs on devices listed in the profile. Check the profile with the provisioning profile decoder, collect the tester's UDID, add it in the Apple Developer portal, then rebuild — re-signing an existing .ipa is not required if you can rebuild.
How do I sign an IPA for ad-hoc distribution?
In Xcode: Product → Archive → Distribute App → Ad Hoc, choosing a provisioning profile that lists every tester device. On CI, fastlane's gym with export_method 'ad-hoc' does the same. Both run on a machine that already holds your signing identity, which is the point.
What is the difference between ad-hoc, enterprise and App Store signing?
Ad-hoc installs only on devices whose UDIDs are in the provisioning profile, capped at 100 per device type per year. Enterprise (Apple Developer Enterprise Program) installs on any device but is licensed strictly for internal employee use. App Store builds install only through the App Store or TestFlight. For beta testing with outside testers, ad-hoc is the normal choice.
Can BetaDrop distribute a signed IPA without TestFlight?
Yes. Upload a signed .ipa and BetaDrop generates an itms-services over-the-air manifest, so a tester installs straight from Safari on their device. There is no App Store review and no tester account. The build must already be signed, and the tester's device must be covered by its provisioning profile.
