#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:)]
Другие вопросы по тегам