Search code examples
iosflutterapp-store-connectiosdeploymentapp-distribution

Ad Hoc iOS App Distribution to several hundred devices


I am trying to find out some up to date information on releasing of an iOS app Ad Hoc .

I was recently tasked to finish up development on an app that was about 90% complete which was being developed in Dart/Flutter but only being deployed on iOS(for now). This is a private app that needs to be deployed to around 400-500 devices, and not go on the AppStore.

I was hoping that I could simply upload it to a webserver and then direct the users at the various locations to navigate to the URL and click a link to download it directly to the device - similar to what I have done in the past with Android APK's. Or some over-the-air install method. We're trying to avoid using the Enterprise method as, although there are several hundred users of the app, the company I am building this for has only a handful of employees and a small revenue stream.

I have seen a few SO posts about Ad Hoc distribution, but they're several years old. My main question is..

Is this Ad Hoc method even possible when trying to target that many devices? and if so, can a provisioning profile be configured to have that many device UUID's? (Assuming profile is needed for AdHoc)

If not, what would be the recommended deployment method for in this scenario?

I appreciate any pointers. Thanks in advance.


Solution

  • iOS AdHoc deployment is limited to 100 Devices per app.

    You can read more about it here https://developer.apple.com/library/archive/documentation/ToolsLanguages/Conceptual/DevPortalGuide/DistributinganApp/DistributinganApp.html

    If you are planning to deploy the app to a larger number of devices, as you wrote, I think your only option is to deploy it on the AppStore and allow access only to selected devices.

    For instance, you can ask your clients for their devices UUID and check if a device opening the app is associated with one of these UUIDs.

    Or you could protect the app with a login (username-password) or even a serial code that you give to your clients privately.