Search code examples
iosiphonemigrationappstore-approval

Best practice to handle Appstore approval when you are migrating to new server APIs


We are online service with a server, web app, and iPhone app. We are going to migrate to new APIs on our server. The problem we face is how to embed Apple review into migration process.

Without Apple review we would do it this way:

  1. Stop our service for an hour for maintenance.
  2. Migrate database with user data
  3. Release new version of web app with new APIs
  4. Release new version of iPhone app with new APIs
  5. Close maintenance. Open our service for use.

We keep both old APIs and new APIs on the server. Old APIs are needed to work with those users who would not download the latest iPhone app.

However, Apple review ruins this process. We need to provide Apple with access to a demo account. It means that step 4 above is delayed for the time of review ( a week or more). It means that users will get web app with new functionality but actually, couldn’t use it as soon as Apple approve iPhone app.

Please advise how do you deal with such case?


Solution

  • You could do it this way:

    • Keep your old service (A) on, as usual
    • Start a new service (B)
    • Migrate database with user data from (A) to (B)
    • Submit new version of iPhone app with new APIs (B) with "Manual release".
    • Wait till Apple reviews your app
    • Once the app is approved, then you should stop the service (A) (from now on, this is maintenance mode time)
    • Repeat migration of the database from (A) to (B), so data in (B) is up-to-date.
    • Release new version of web app with new APIs in (B)
    • Release your iPhone app
    • The iPhone app will be distributed in less than 24 hours (usually). (maintenance mode is over)

    The problem here is how you may deal with older iPhone app versions. I understand this is your first release. You should somehow be able to activate a "maintenance mode" for your iPhone app and a versioning system for that too.

    I hope this helps.