We run a web-based SaaS product for paying customers. There is no public facing utility to our service.
Customers have wanted a mobile app to help them use certain features on their phones and when offline. We developed a simple iOS app using Xcode that is basically a WKWebView. It uses local HTML/JS assets bundled into the app for offline features, and it pulls remote web pages from our server for online features. The app uses IndexedDB to sync data between the remote features and local features. So, the only truly native code in this app is just to setup the webview. The app has no public face besides a login page.
In testing, the app works fine. User experience is consistent with the UI they are already familiar with using our web product. I have no issues with the performance of the app itself.
But I am very confused about how we can get this app into the hands of our customers who use iOS devices.
As I understand it, the ad-hoc distribution program only supports up to 100 devices and requires manual management of UUID's. The 100 device limit makes this impractical for us.
The Enterprise program requires that our app be distributed to devices within our own organization. Our users are customers of our B2B product, they are not members of our organization. Distributing the app this way violates Apple's terms.
The B2B/Volume Purchasing program requires that the user installing the app be a member of the Volume Purchasing program. Meaning, they would need to sign up with Apple for us to be able to distribute the app to them. This is too much friction for us. Our users are not always technically experienced (they are in a non-tech industry) and their devices are usually owned individually, not by their employer.
And then there is the public app store. Clearly this is the easiest way to distribute and update the app to our customers by setting a $0 cost. But I don't see how our app as designed could ever be approved by Apple.
Where do we go from here? Is there some nuance I am missing about B2B distribution that could work? Or is there some minimally complex way we can 'enhance' the app to make it eligible for the public app store?
Thanks for all advice,