Ответ Jasarien является приблизительно правильным, но он склонен к проблемам в LLVM 1.5, когда компилятор будет оптимизировать оператор if.
Вы также должны сравнивать адрес константы с NULL
вместо nil
(nil
имеет другую семантику).
Более точное решение таково:
BOOL isKeyboardBoundsKeyAvailable = (&UIKeyboardBoundsUserInfoKey != NULL);
if (isKeyboardBoundsKeyAvailable) {
// UIKeyboardBoundsUserInfoKey defined
}