Рекомендуемый способ поддержки обратной / прямой совместимости в приложении iPhone?

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

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

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

  1. Создайте "слабое звено" для любых новых (4.0) фреймворков
  2. Вызов respondsToSelector: для любого нового метода в существующей платформе или любого метода в новой платформе, прежде чем делать этот вызов

Я рядом? Что рекомендуется?

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

ОБНОВЛЕНИЕ: просто как примечание - если вы пытаетесь проверить новый фреймворк, вам лучше всего позвонить respondsToSelector: на метод класса против объекта класса вместо использования метода экземпляра.

1 ответ

Решение

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

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

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

Другие вопросы по тегам