iOS App Distribution Methods Explained2018-02-22
Apple is very particular about how 3rd party software gets on their devices. Basically, the more users you want to distribute the app to, the more hoops you have to jump through. It breaks down like this:
You can build and run any software on your own device, as long as it’s attached to your computer. You don’t even need a paid account.
You can build any software and distribute it over the air to members of your development team (everyone registered on the dev portal as a member or admin). Requires a paid account, and the number of people is severely limited. If you want to add people, you have to create a new build. Builds expire after at most a year, usually much faster, depending on how the expiration times of the dev certificate and provisioning profile line up.
You can build any software and distribute it over the air to a set of up to 100 devices (registered on the dev portal by device ID). Requires a paid account, and once a device has been added to the list, it can’t be removed until the development program membership renewal date. Each build contains the list of devices is can be installed on, so adding devices requires creating a new build. Builds expire after at most a year, usually much faster, depending on how the expiration times of the ad-hoc certificate and provisioning profile line up.
You can build software, but it must pass a rudimentary check when uploaded. You can freely distribute it over the air to up to 25 internal users. If you want to distribute to external testers (up to 10,000) it has to pass a beta review. Builds expire after 90 days.
You can build software, but it must adhere to the App Store Review Guidelines and some other requirements and pass a review. Can then be downloaded by everyone from the App Store. Only the latest version is available though. Requires paid account. Unlimited users and automated distribution.
Dev team and ad-hoc are the only methods here that enable over-the-air side-loading.
All of the above use the regular Developer Program, which open to anyone who can pay $99/year (personal accounts are free). Enterprise accounts work a little different. It costs more money ($299/year), the setup process is more arduous, and you can’t distribute apps through TestFlight nor the App Store. The upside is that you can distribute pretty much anything over the air, once you have a distribution server set up. However, any device you install your app on has to be either managed through MDM or requires explicitly enabling a device management profile before you can run the app.