Я знаю, что эта тема может быть очень часто задаваемым вопросом, но я все еще не мог получить решение.Проверка версии устройства во время компиляции (макрос)
Во-первых, я знаю, что есть два способа, чтобы проверить версию операционной системы
1)
[[UIDevice currentDevice] systemVersion]
Это, безусловно, не то, что я ищу, потому что это используется во время выполнения, что я «Я смотрю, что во время компиляции можно что-то сделать.
2)
#if __IPHONE_6_0
// do something
#endif
Это то, что я надеялся, что это работает, но это не так. 2 проблемы здесь:
i) Запуск на iPhone симулятор версии 5.0, и я заметил, что #if __IPHONE_6_0
возвращает ИСТИННОЕ значение. Я думал, что он должен быть ИСТИННЫМ, только если версия 6.0 или выше?
ii) То же самое происходит, когда я тестировал его на симуляторе iPad. Этот макрос работает и на iPad?
Причина, по которой я хочу, чтобы это было сделано во время компиляции, связано с тем, что я использую последнюю версию iOS 6.0 Social Framework, но я хотел бы, чтобы мое приложение поддерживало и более старую версию (мин. 4.3). Проблема заключается в том, что мои коды используют материалы Social Framework. Поэтому я должен выполнить проверку макросов, чтобы узнать, поддерживает ли это устройство Social Framework или нет, если не компилировать коды конкретной социальной структуры. Если я этого не сделаю, во время компиляции я получу ошибку, потому что ОС, которая ниже версии 6, не знает, что такое Social Framework.
Ожидаем получить некоторые решения здесь.
Я думаю, что я нашел решение .... спасибо за вашу информацию. –