Если вы разрабатываете для определенного SDK (например, 6.0), ваше приложение будет развернуто только на устройствах, которые используют соответствующую версию ОС (в данном случае 6.0).
Для разработки приложений, специально предназначенных для разных версий ОС, необходимо создать отдельные развертываемые двоичные файлы для каждой версии. В качестве альтернативы, вы можете собрать для наименьшего общего знаменателя - если вы хотите поддерживать OS 4.5, соберите для 4.5, и ваше приложение будет работать (хотя и не всегда изящно) на всех более поздних версиях BB OS.
Два примера проектов с открытым исходным кодом, которые можно использовать в качестве примеров: BBSSH и LogicMail .
Ни один из них не использует директивы препроцессора, однако оба используют несколько разные подходы к управлению несколькими целевыми ОС; какое решение является более подходящим, лучше всего определяется вашими потребностями. Оба используют муравьиные сборки; и я думаю, что обе цели от ОС 4.5 до 6.0. (Старые версии LogicMail вернулись к 4.1, я полагаю)
Сценарии сборки можно найти здесь:
В обоих проектах также можно найти конкретные методы обработки вещей, такие как использование функций, введенных в более поздних версиях ОС, для ваших пользователей - либо предоставление пользовательской реализации более ранних версий для более ранних версий, либо отключение функциональности по мере необходимости.
Наконец, короткое замечание: если вы продолжите не принимать действительные ответы, вы скоро обнаружите, что люди менее охотно вам отвечают.