Как вы можете проверить, установлена ли константа во время выполнения? Например, в iOS 4 UIApplicationDidEnterBackgroundNotification доступно, но при запуске на iOS 3 произойдет ошибка, если вы попытаетесь его использовать.
Вам, вероятно, стоит взглянуть на этот другой вопрос , который, на мой взгляд, также отвечает на ваш. if (&UIApplicationWillEnterForegroundNotification != NULL) должен быть безопасен при динамическом линковании и сообщать вам, существует ли константа или нет.
if (&UIApplicationWillEnterForegroundNotification != NULL)