Да, вам, вероятно, потребуется программно создать экземпляр ADBannerView, если вы хотите также поддерживать пользователей 3.x. Вы могли бы выполнить проверку во время выполнения и загрузить один Nib-файл, если поддерживаются iAds (4.x), и другой, если нет (3.x), но это, похоже, создаст для вас много дополнительной работы.
Это довольно просто сделать. У Apple есть пример этого в их iAdSuite примере приложения. Посмотрите в части BasicAdBanner об этом для самой простой реализации.
В методе -createADBannerView
они даже описывают, что искать при работе со старыми версиями ОС:
// --- WARNING ---
// If you are planning on creating banner views at runtime in order to support iOS targets that don't support the iAd framework
// then you will need to modify this method to do runtime checks for the symbols provided by the iAd framework
// and you will need to weaklink iAd.framework in your project's target settings.
// See the iPad Programming Guide, Creating a Universal Application for more information.
// http://developer.apple.com/iphone/library/documentation/general/conceptual/iPadProgrammingGuide/Introduction/Introduction.html
// --- WARNING ---
Честно говоря, ценность поддержки пользователей 3.x в приложениях, отличных от iPad, уменьшается. В качестве эксперимента я добавил iAds в обновление одного из моих приложений и сделал его только для 4.0. Из 50 000 человек, прошедших обновление, только двое жаловались на несовместимость с 3.x. Я ожидаю, что внедрение 4.2 будет довольно быстрым среди пользователей iPad, как только это обновление станет доступным.