iOS: будут ли устаревшие элементы продолжать работать в устаревших приложениях? - PullRequest
0 голосов
/ 21 марта 2019

У меня есть несколько корпоративных приложений для iOS, которые были разработаны несколько лет назад, и некоторые из более ранних из них содержат элементы, которые Apple устарела, такие как UIWebView.

У меня вопрос: после того, как Apple перестанет поддерживать устаревшие элементы, будут ли эти элементы продолжать работать в существующих приложениях? Или мне нужно будет войти и обновить устаревшие элементы во всех приложениях, чтобы сохранить функциональность?

Ответы [ 2 ]

2 голосов
/ 21 марта 2019

Когда Apple отказывается от API, это означает, что они намерены прекратить поддержку этого API в будущем.

Иногда это происходит из-за того, что API больше не используется или имеет недостатки (например, создает дыру в безопасности), но обычно потому, что он был заменен превосходным API, и Apple рекомендует вам принять новый API.

Существующие приложения, работающие в существующих операционных системах, естественно, продолжат функционировать.

Когда Apple заменяет один API другим, они обычно поддерживают устаревший (устаревший) API настолько долго, насколько это практически возможно. Таким образом, ваше приложение может работать как минимум на следующих нескольких основных версиях операционной системы.

Apple также старается не заставлять вас выбирать новый API, потому что это усложняет разработку, поскольку теперь вам нужно поддерживать два API в вашем приложении, если вы хотите, чтобы он был совместим с более ранними версиями ОС. (Конечно, если вам нужны возможности нового API сегодня, у вас не так много вариантов: либо поддерживать оба API, либо ограничить версии ОС, на которых может работать ваше приложение.)

Сколько длится в каждом конкретном случае. API-уязвимость может быть удалена в следующей ОС. На другом конце шкалы у вас есть API-интерфейсы строкового кодирования, которые устарели в течение почти десятилетия (поскольку они не могут должным образом обрабатывать все случаи преобразования Unicode), но они все еще включены в платформу и по-прежнему функционируют так, как объявлено.

В высококлассных классах, таких как UIWebView, я ожидаю, что он будет работать в течение многих лет, но он не будет улучшен или получит какие-либо новые функции WKWebView. Так что со временем это будет выглядеть и действовать все более и более устаревшим. Насколько это важно для вашего приложения, это субъективное решение для вашей разработки.

2 голосов
/ 21 марта 2019

Полагаю, это зависит от версии ОС пользователя на его устройстве. Если ОС больше не поддерживает устаревшие элементы, вы можете заметить ошибку, аналогичную приведенной ниже: "[Appname] необходимо обновить"

...