2010-08-24 1 views
2

Есть ли способ заставить XCode выкинуть предупреждение, если метод может быть недоступен в старой версии? Например, у моего приложения может быть цель развертывания 3.0, но поддерживается SDK до 4.0. Это означает, что я могу использовать методы, которые можно использовать в 4.0, но определенно не доступны при работе на устройстве 3.0.XCode для отображения предупреждений о новых методах, недоступных для старых целей?

ответ

1

Получить информацию о вашем проекте (или цели) и изменить «макросов препроцессора» настройки для добавления

__IPHONE_OS_VERSION_MAX_ALLOWED=30000 

Конкретное количество зависит от SDK, и могут быть найдены в заголовке Availability.h.

+0

Есть ли способ игнорировать синтаксис и показывать только отсутствующие функции? im, используя plblocks, и он показывает массу ошибок ... – RolandasR

+1

@Kevin Ballard: Я одобряю GameBit, это только повышает количество ошибок на заголовках Apple, но не является одной ошибкой исходного кода проекта. – Oliver

1

Это один из способов. Вы также можете использовать метод объектов класса respondsToSelector:(@selector), чтобы узнать, отвечает ли конкретный объект конкретной команде. Это полезно, если вы хотите поддерживать функции, доступные только в 4.0, но также хотите, чтобы программа запускалась в версии 3.0 без этой функции. Это также относится к оборудованию, которое может быть или не быть доступным. Например, вам может потребоваться проверить, есть ли у устройства гироскоп, прежде чем вы начнете его спрашивать о состоянии его гироскопа (например, iPhone 4 против 3GS/3G).

Смежные вопросы