Heinrich
Heinrich

Reputation: 1761

Enterprise distribution of iOS app with customer-specific web service url

I have an iOS app that communicates with a web service, this product will be licensed to customers for their employees. Each customer will have to install the web service on their own server and provide an IP/URL for the iOS app to communicate with. Right now, the web service URL is coded in the app. I won't know the customer's web service URL before giving them the compiled app.

I don't know enough about enterprise distribution to know how to do this. Do if I need to compile the app for each new customer with their specific web service URL, then give them the app? Or is there is another way this should be done? I was thinking a plist file or manifest that can be configured with the URL but I'm not sure. How do they update that and get the app to use that? I had a developer make this app for me and they said the URLs shouldn't be in manifest/plist files.

I can't find any information about this on the apple developer site or on this site.

Upvotes: 1

Views: 209

Answers (2)

Sheamus
Sheamus

Reputation: 6606

App has no knowledge of manifest file

Your developer is right--you should not include any app-configuration information in the manifest file, since the app has no knowledge of the manifest file or web page that it was downloaded from. Here is a link to an answer I gave regarding this topic.

Enterprise deployment rules

Apple only allows enterprise deployment internally within a company. So, distributing an App through your enterprise license to multiple companies is prohibited.

Approach

I can think of one option that might work for you, given that you have a URL that should change for different customers.

This assumes that you will employ a login.

Devices

Your login web service response to the device can include the URL that is configured for that customer. This URL can be one piece of data inside a configuration file in JSON format.

Web Server Admin Page

You can optionally employ an Admin page, also accessible through login, where your customer can set the URL, and any other settings. The advantage of including an admin page for your customers is that they are able to manage the product on their own, without the need for additional product support.

Upvotes: 1

Imran
Imran

Reputation: 2941

You can just add text field in your app settings or at the start where user can define its server URL like www.abc.com For all your customer rest of your path (webservices/yuorservice or what ever you use)will be same . Then you get this url and save in your user defaults to use it for the future for that user. Using this approach you only need to compile app one time for all the customers.

Upvotes: 1

Related Questions