I’m working in an application that loads a few remote jsons at startup. The application has been programmed to do certain tests on the incoming data to prevent invalid states and to detect possible human errors. However, I am not sure of how we should treat such situation at the GUI level – our initial idea was to display a “Oops there was an unexpected server error. We are working to solve this issue. Please, try again later.” popup to quit the application when the user hits an “Ok” or “Exit” button.
Apple apparently discourages exiting the application from within your code: https://developer.apple.com/library/ios/#qa/qa2008/qa1561.html
What good alternatives are there to handle this situation?
Update: I updated the error message above, since it was misleading.
I encountered a similar issue. My app was useless unless it could establish a connection to a server.
There are two ways around this:
place holder text, this can hold the position until you can get your json arrays, or at least allow a back drop for popping an alert.
Load a view with all interaction disabled, with a small message box saying “connecting…”
Basically I have taken the first responding storyboard frame and disabled everything that the user could touch. I just allowed static interaction like pressing a button to get to the about screen.
Don’t beat yourself up too much about it though. If you don’t have any connectivity at all then none of the user’s apps are going to be functioning properly. I think in this state, from a GUI perspective it is mostly about damage control and protecting the user experience.