Радикальные различия между версиями iOS?

#iphone #ios #compatibility

#iPhone #iOS #совместимость

Вопрос:

Я действительно новичок в разработке iOS, и я ищу документы по этому вопросу. Однако мне не нравится накапливать кучу руководств, книг и курсов, которые я могу найти, зная, что они могут отличаться в нескольких аспектах при смене версий.

Например, в .NET, в котором у меня гораздо больше опыта, у нас были некоторые серьезные изменения между .NET 1.1 и .NET 2, и некоторые важные дополнения к 3.0, 3.5 и 4, но радикальное изменение было с 1.1 на 2.

Мой вопрос к вам, разработчикам iPhone / iPad / iOS в целом, видели ли вы какие-либо серьезные изменения в истории iOS? и под серьезными я подразумеваю оставление множества приложений с проблемами совместимости.

Ответ №1:

Apple проделала хорошую работу по поддержанию совместимости во всех обновлениях iOS. По большей части, даже приложения, написанные для iOS2, все равно будут работать с iOS5. Есть некоторые области, которые были более проработаны сейчас, чего раньше не было. Каждая операционная система содержит разрозненные фрагменты, которые обесцениваются и / или изменяются. Но что касается радикальных изменений, этого не было.

Наиболее заметные изменения, если вы используете учебные пособия и книги для изучения, — это обновления самой Xcode (интегрированной среды разработки — IDE). Если вы используете более старую книгу, может быть легко немного заблудиться, пытаясь разобраться в новом Xcode. Но что касается кода, то большинство из них по-прежнему абсолютно корректны.

В некоторых областях следует быть более осведомленным об обновлениях в:

Аудио и видео

Работа с экранами Retina

Ответ №2:

Мне кажется, самое большое изменение заключается в том, что с новейшими инструментами вы должны использовать автоматический подсчет ссылок. В любой книге, написанной до iOS 5, будет достаточно места, посвященного ручному управлению памятью.

Но это не изменение API.

Ответ №3:

В каждой версии произошли некоторые большие изменения, но хорошо написанное приложение, предназначенное для iPhone OS 2.0, вероятно, по-прежнему будет компилироваться и работать с текущей версией iOS. Хотя некоторые API больше не рекомендуются, я не знаю ни одного, который действительно был удален.