2012-02-21 3 views
0

Быстрое любопытство. Если я разработал приложение с компонентами ios 5 (например, core audio kAudioUnitSubType_AudioFilePlayer) и установил цель развертывания на ios 4, будут ли компоненты ios 5 работать на устройстве ios 4?ios5 обратная совместимость

ответ

2

Поскольку никто не может путешествовать во время, вы не можете использовать IOS 5 функции на прошивке 4.

Однако, вы можете написать приложение, которое работает отлично на прошивке 4 и использует IOS 5 особенности если таковой имеются. Например, вы можете спросить класс, реализует ли он метод с использованием respondsToSelector:, и если да, вы можете его вызвать.

С помощью kAudioUnitSubType_AudioFilePlayer вы можете просто инициализировать аудиоустройство с помощью AUGraphNewNode, но на iOS 4 вы получите сообщение об ошибке (но не сбой).

1

Приложение, работающее на iOS 4.x, имеет доступ только к API, доступным в фреймворках 4.x.

+0

ОК спасибо. Мне снились – dubbeat

0

Я бы рекомендовал для новых приложений, с сегодняшнего дня ..., которые вы разрабатываете для iOS 5 с использованием функций iOS 5. После того, как вы закончите, выполните некоторые регрессионные тесты на iOS 4. Независимо от того, что сломано, перезапишите или разрешите приложению делать что-то другое во время выполнения (вы можете проверить, будет ли объект отвечать на метод до его вызова;)). Это позволит вам использовать все сладкие вещи iOS 5 с наименьшим «поселением». Моя команда создала некоторые новые функции в iOS 5 IN iOS 4 (имея дело с контроллером навигации), так что код потребует очень мало изменений.

+0

Раскадровки - проблема, если вы используете их ios5, а затем попробуйте конвертировать в ios4. – nycynik