#ifdeF#else #endif выбрать версию и функцию SDK для iOS?
Я создаю темное приложение на iOS 6 и 7. Я понимаю я могу позвонить [[UIApplication sharedApplication] setStatusBarStyle:UIStatusBarStyleLightContent];
сделать строку состояния iOS 7 подходящей для темного приложения.
Проблема в том, что я собираюсь отправить свое приложение в App Store, и в настоящее время Xcode 5 еще не готов к этому, поэтому я должен использовать Xcode 4.6.x для выполнения этой задачи. Однако с Xcode 4.6 я не могу скомпилировать новый метод из iOS 7. Я думаю, что я должен сделать что-то вроде "" если ios7"", то сделать [[UIApplication sharedApplication] setStatusBarStyle:UIStatusBarStyleLightContent];
и переместите окно моего приложения.
Я пытаюсь сделать это с #ifdef
... #else
... этот код [[UIApplication sharedApplication] setStatusBarStyle:UIStatusBarStyleLightContent];
внутри viewDidLoad
,
Может ли кто-нибудь помочь понять, как использовать #ifdef
... с методом в некоторых функциях.
Большое спасибо!!!!
2 ответа
Хотя я не уверен на 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, используя Open Quickly и введя в Доступность.
Взгляните на отклики ToSelector
[delegate respondsToSelector:@selector(myMethod:)]