Не верно для всех новых методов iOS 5, но я обнаружил, что вызов метода setBackgroundImage:forBarMetrics:
UINavigationBar вызовет предупреждение «метод экземпляра не найден», если цель развертывания ниже 5.0. Это даже при том, что я связываюсь с SDK 5.0.
Что более важно, перечисление UIBarMetrics, используемое в качестве параметра, сообщается как «необъявленный идентификатор», и это вызовет ошибку компилятора.
Есть идеи, почему это так? Я понял, что код не будет работать, если цель развертывания ниже 5.0, но я проверяю, отвечает ли UINavigationBar на этот селектор во время выполнения, поэтому все должно быть в порядке. Я не понимаю ошибку компилятора.
EDIT:
Это происходит только при компиляции устройства и когда устройство действительно подключено (устройство, которое я тестировал, работает под управлением iOS 5.0.1).