iOS multiple client deployment/distribution issue

134 Views Asked by At

Problem: I have an application that is distributed to multiple clients (in-house distribution) - each client has their own database and server instance, which requires that I need to make a new app build for each client - with each client's specific server address details embedded in the app. This is becoming a problem since the amount of client implementations is growing.

Is there some way to externalize a config file that can be distributed alongside the app so that only one build needs to happen?

A central server solution is not in consideration yet.

UPDATE: Would it be possible to have the client-specific settings in the wireless distribution manifest (.plist) file, and then read those settings into the app?

2

There are 2 best solutions below

1
On

Your question is not that specific. Still I think you can keep a webservice to download the server configuration details. and store it in Coredata. Upon user signup you can download the configuration details.

Edit:

Try the method as Mark Weller said. Check Implementing an iOS Settings Bundle in the doc.

If you want to minimize the user interaction, and want to automate the build process. Please check cisimple

1
On

One technique would be a settings bundle, where the user enters the appropriate server address and other details via the iOS settings app. This does complicate things slightly for the user, but it means you have just 1 single build which can be used by all your customers.

You could also alter the defaults in the settings bundle at build time, allowing you to still build custom versions of the app but keeping the same codebase. You would probably have to write some shell scripts to do this and resign your app after the modification is complete.