Рекомендуемый способ поддержки обратной / прямой совместимости в приложении iPhone?
Я нахожусь на ранней стадии приложения для iPhone, и у меня есть вопрос. Я немного искал, но не нашел то, что искал.
В iPhone OS4 есть функции, которыми я бы хотел воспользоваться, но я бы хотел, чтобы мое приложение также работало на 3.X.
Похоже, я хочу развиваться против 4.0 SDK и сделать следующее:
- Создайте "слабое звено" для любых новых (4.0) фреймворков
- Вызов
respondsToSelector:
для любого нового метода в существующей платформе или любого метода в новой платформе, прежде чем делать этот вызов
Я рядом? Что рекомендуется?
Указатели на подобные вопросы приветствуются.
ОБНОВЛЕНИЕ: просто как примечание - если вы пытаетесь проверить новый фреймворк, вам лучше всего позвонить respondsToSelector:
на метод класса против объекта класса вместо использования метода экземпляра.
1 ответ
Да, именно так вы и делаете!
Единственная хитрость, о которой я могу упомянуть, это то, что вы еще не упомянули, что вы строите против самой последней версии SDK (т. Е. 4.0 в этом случае) и устанавливаете цель как можно раньше, которую хотите поддерживать (в данном случае 3.0).
Вы можете попробовать использовать 3.2 SDK для создания универсального (iPhone/iPad) приложения. Это шаблон Apple, который использует этот же метод для работы с двумя разными API.