API-интерфейс, потребляющий iOS

Я собираюсь разработать приложение для iOS для веб-приложения. (Веб-приложение использует код воспламенитель)

Я собираюсь создать службу API, которую будет использовать приложение iOS.

Я подумываю о создании версии API, поэтому при изменении веб-API приложение для iOS узнает об этом.

проблемы:

Приложение iOS необходимо будет обновить при изменении API веб-приложения (если я не оставлю устаревший API-интерфейс доступным. Это хороший вариант)Если приложение для iOS обновляется, когда API-интерфейс веб-приложения НЕ обновляется, это также вызовет проблему

Должно ли мое iOS-приложение указывать требуемую версию API?

Если API-приложение для iOS меньше веб-API: Показать сообщение: Пожалуйста, обновите iOS-приложение.Если API-приложение для iOS больше веб-API: Показать сообщение: Пожалуйста, обновите веб-приложение

Это лучшая практика?

Должен ли я создать класс API для каждой версии, расширить предыдущую версию и переопределить методы при их изменении?

пример

ApiV1 extends CI_Controller
{
   function list_customers(){//Code}
   function saveSale() {//Code}
}

ApiV2 extends ApiV1
{ 
   function saveSale()
   {
      //New way of saving sale
   }
}

И что произойдет, если я внесу изменения в структуру базы данных, где API v1 больше не будет работать? (Пример, изменили имя таблицы базы данных?)

Ответы на вопрос(3)

Ваш ответ на вопрос