#ifdef #else #endif выбрать версию и функцию iOS sdk?
Я запускаю темное тематическое приложение iOS 6 и 7. Я понимаю, что я могу позвонить [[UIApplication sharedApplication] setStatusBarStyle:UIStatusBarStyleLightContent];
, чтобы сделать панель состояния iOS 7 подходящей для темной темы.
Проблема заключается в том, что я отправлю свое приложение в App Store, и в настоящее время Xcode 5 не готов к этому, поэтому я должен использовать Xcode 4.6.x для выполнения этой задачи. Однако с Xcode 4.6 я не могу скомпилировать новый метод из iOS 7. Я думаю, что мне нужно сделать что-то вроде "if ios7", а затем сделать [[UIApplication sharedApplication] setStatusBarStyle:UIStatusBarStyleLightContent];
и изменить положение моего окна приложения.
Я пытаюсь сделать это с помощью #ifdef
... #else
...
этот код [[UIApplication sharedApplication] setStatusBarStyle:UIStatusBarStyleLightContent];
внутри viewDidLoad
.
Может кто-нибудь помочь понять, как использовать #ifdef
... с помощью метода в некоторых функциях.
Спасибо большое!!!!
Ответы
Ответ 1
Пока я не уверен на 100%, я могу полностью ответить на этот вопрос, не нарушая NDA, я сделаю все возможное, чтобы указать вам в правильном направлении.
Вам нужно использовать __IPHONE_*
#defines в Availability.h
#if __IPHONE_OS_VERSION_MAX_ALLOWED >= __IPHONE_6_0
// iOS 6+ code here
#else
// Pre iOS 6 code here
#endif
Помните, что #if
и #ifdef
будут определять, какой код скомпилирован, это не механизм обнаружения времени выполнения.
Вы можете легко получить доступ к Availability.h с помощью функции "Быстрый доступ" и ввода "Доступность".
Ответ 2
взгляните на ответToSelector
[delegate respondsToSelector:@selector(myMethod:)]