Быстрое любопытство. Если я разработал приложение с компонентами ios 5 (например, core audio kAudioUnitSubType_AudioFilePlayer) и установил цель развертывания на ios 4, будут ли компоненты ios 5 работать на устройстве ios 4?ios5 обратная совместимость
ответ
Поскольку никто не может путешествовать во время, вы не можете использовать IOS 5 функции на прошивке 4.
Однако, вы можете написать приложение, которое работает отлично на прошивке 4 и использует IOS 5 особенности если таковой имеются. Например, вы можете спросить класс, реализует ли он метод с использованием respondsToSelector:
, и если да, вы можете его вызвать.
С помощью kAudioUnitSubType_AudioFilePlayer
вы можете просто инициализировать аудиоустройство с помощью AUGraphNewNode
, но на iOS 4 вы получите сообщение об ошибке (но не сбой).
Приложение, работающее на iOS 4.x, имеет доступ только к API, доступным в фреймворках 4.x.
Я бы рекомендовал для новых приложений, с сегодняшнего дня ..., которые вы разрабатываете для iOS 5 с использованием функций iOS 5. После того, как вы закончите, выполните некоторые регрессионные тесты на iOS 4. Независимо от того, что сломано, перезапишите или разрешите приложению делать что-то другое во время выполнения (вы можете проверить, будет ли объект отвечать на метод до его вызова;)). Это позволит вам использовать все сладкие вещи iOS 5 с наименьшим «поселением». Моя команда создала некоторые новые функции в iOS 5 IN iOS 4 (имея дело с контроллером навигации), так что код потребует очень мало изменений.
Раскадровки - проблема, если вы используете их ios5, а затем попробуйте конвертировать в ios4. – nycynik
ОК спасибо. Мне снились – dubbeat