What's the best approach for using a web service in an iPhone app? Should I connect directly to the service or proxy the request through my own web server and where I can cache the results and, if the service changes, make any updates in a single location without having to have my app update approved by Apple.
views:
350answers:
2I would suggest proxying it through your own web service for exactly the reason you mention - if the third party API changes, you can just change your service to cope rather than having to deploy and update to the app.
The only drawback to this is if the app somehow becomes wildly popular and you now need to worry about scaling up your service to handle the load.
I'll offer the opposite advice.
You are selling the application for a fixed sum. Does that sum really pay for running a server, forever?
Do you really want to be on the hook for making sure your server is up 24/7? Do you really want all instances of your app to break when you have downtime as opposed to where the data actually is?
Also a service seeing a ton of traffic from your single server might well decide to block you, where it would not block a wide number of individual iPhones contacting it.