How is "ad hoc" distribution defined in Expo? To what does this correspond in Apple's docs?

I’m trying to determine if I will need to eject my app to distribute it.

The docs refer to “ad hoc” distribution…

‘At this time, the standalone app builder does not support “ad hoc” distribution certificates or provisioning profiles,’ the Expo docs say.

I see this term “ad hoc” used on the WWW to refer to a kind of app distribution, but I don’t think Apple uses this term in its docs. This makes it hard to match up the Expo docs with the Apple docs.

I want to keep my app internal to my organization. That is, I don’t want there to be a publicly accessible URL for downloading the app. Is that what ad hoc means?

Is there a way to distribute my CRNA app internally without ejecting? I would like to keep using Expo if possible, and I understand I can’t use Expo once I eject.

I have the $299 Apple Enterprise Developer account.

Thank you!

Hey there, thanks for the question. You do not need to detach for this. But it is a slightly more complex build process.

Enterprise distribution is possible with Expo and is not the same thing as Ad Hoc distribution. However, you’ll need to learn quite a bit about how Apple provisioning works, which is not an especially fun or transparent topic.

Very short summary of what you need to do:

If you have an Enterprise account, you can use a special kind of provisioning called “In House” which is not available to non-enterprise developers. This is similar to “Ad Hoc” but with fewer limitations.

I recommend following a tutorial (this one looks decent) on how to create the correct distribution certificate and “in house” profile with Apple. You should only need to do this once, and then you can save these files for later.

Then when you run exp build, when prompted, you can choose to manage the signing yourself (rather than letting Expo do it for you), and upload the profile and certificate that you generated in the previous step.

Apple codesigning is a fairly advanced and annoying topic for a lot of people. Expo’s builder tries to make this easier for the most common use case, but enterprise is a bit more complex. TL;DR Sorry to warn you that you should expect some headaches until you read a bunch more about how Apple codesigning works and have a decent command of the topic. But you can do it!


I realized I didn’t directly answer your question. An “Ad Hoc Distribution” is a concept defined by Apple for non-Enterprise developers. It allows you to share a test app with a limited number of people (I believe 100 people). In recent times, most people use Apple TestFlight instead of this (again in the non-Enterprise case, so this doesn’t directly apply to you).

1 Like

Thanks! If “ad hoc” is limited to 100 or so users, then that’s definitely not what I need.

I will brace myself for some possible headaches.

This vocabulary lesson helps a lot. This will make it a lot easier to proceed.

This topic was automatically closed 20 days after the last reply. New replies are no longer allowed.