Рекомендуемый способ поддержки обратной / прямой совместимости в приложении iPhone? - PullRequest
6 голосов
/ 02 июня 2010

Я нахожусь на ранней стадии приложения для iPhone, и у меня есть вопрос. Я немного искал, но не нашел то, что искал.

В iPhone OS4 есть функции, которыми я хотел бы воспользоваться, но я бы хотел, чтобы мое приложение также работало на 3.X.

Похоже, я хочу развиваться под 4.0 SDK и сделать следующее:

  1. Создать «слабое звено» для любой новой (4.0) инфраструктуры
  2. Звоните respondsToSelector: для любого новый метод в существующей структуре или любой метод в новой структуре перед тем как позвонить

Я близко? Что рекомендуется?

Указатели на похожие вопросы приветствуются.

UPDATE: Точно так же, как примечание: если вы пытаетесь проверить новую платформу, вам лучше всего вызвать respondsToSelector: для метода класса для объекта класса вместо использования метода экземпляра.

1 Ответ

3 голосов
/ 02 июня 2010

Да, именно так вы и делаете!

Единственный другой прием, который я могу вспомнить, о котором вы еще не упомянули, это то, что вы строите на основе самого последнего SDK (т. Е. 4.0 в этом случае) и устанавливаете цель как можно раньше, которую хотите поддерживать (3.0 в этом случае ).

Вы можете попробовать использовать 3.2 SDK для создания универсального (iPhone / iPad) приложения. Это шаблон Apple, который использует этот же метод для работы с двумя разными API.

...