Вопрос

Два вопроса:

этот код

#ifdef __IPHONE_3_0
    // iPhone 3.0 specific stuff
#else
    // iPhone 2.2 specific stuff
#endif

Скомпилируют конкретные коды для конкретных версий iPhone. Как это может быть преобразовано в компиляцию для ряда устройств? Например: если версия iPhone <3.1 или если версия> = 3.2, и поэтому ...

2) Где мне получить список всех условий, разрешенных XCode?

Спасибо за помощь.

Это было полезно?

Решение

Эти определения найдены в Availability.h, расположено в любом SDK, который вы используете. Например, вы можете найти версию для симулятора 3.0 на

/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator3.0.sdk/usr/include/Availability.h

Как примечание, легко посмотреть постоянные, как __IPHONE_3_0 Выделив их, щелкнув правой кнопкой мыши и выбирая «прыжок к определению» из всплывающего меню.

В Availability.h, Сам заголовок подробно описывает, как избирательно компилировать для различных версий. Например, для компиляции кода, только если версия ОС iphone превышает 3.0, вы можете использовать

#if __IPHONE_OS_VERSION_MIN_REQUIRED >= __IPHONE_3_0
// Your code here
#endif

Обратите внимание, что это для определения того, что включать во время компиляции, а не для выборочного включения кода в зависимости от того, на какой версии ОС работает приложение.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top