Как сделать iPhone универсальным бинарным для iOS4 и iOS3? - PullRequest
1 голос
/ 18 июня 2010

Можно сделать универсальный двоичный файл для OS 2.x и 3.x, вы можете увидеть пример кода для MFMailComposer Но как сделать это для iOS4 и iOS3 и XCode 3.2.3?

1 Ответ

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

Да, есть некоторая документация по этому процессу, но если вы хотите создать экземпляр класса, который может отсутствовать, вы должны сначала протестировать.

Использование NSClassFromString возвращает значение null, если вы работаете в 3.x без класса, и возвращает класс, который можно использовать для выделения нового экземпляра, если класс существует во время работы в более поздней ОС.Таким образом, вы можете протестировать и выполнить возврат к коду 3.x и использовать классы и функции 4.x, если они доступны.

Убедитесь, что вы компилируете против новых (4.x) библиотек, в то время как вы также устанавливаете свойЦелевая ОС должна быть ниже (3.x), чтобы вы могли приводить новый класс в своем коде без предупреждения во время компиляции.

Если вы хотите использовать новый API или поддерживать изменение в API, вы можете проверитьПрисутствие метода с использованием responsedsToSelector и при необходимости запуск метода с помощью executeSelector и т.д.позднее OS '

Например, вы можете проверить существование класса UILocalNotification, и, если он доступен, вы помещаете кнопку на панель инструментов, а если ее нет, то не делаете - таким образом, полностью избегая кода, которыйпроизойдет сбой во время выполнения.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...