Reachability.h перечисляет три типа: NotReachable, ReachableViaWiFi и ReachableViaWWAN.
Это значения, которые вы хотите проверить, а не ReachableViaWiFiNetwork или ReachableViaCarrierDataNetwork.
Если компилятор говорит, что значения не объявлены, вы должны спросить себя, откуда вы взяли эти значения? Отыщите, где, по вашему мнению, они должны быть (префикс Reachable - подсказка), а затем найдите свою ошибку.
Потребовалось буквально 30 секунд, чтобы отследить эту ошибку. Вы сэкономите много времени, задавая очевидные вопросы и слушая сообщения компилятора.
Было бы также чище и эффективнее проверять,
if (internetStatus == NotReachable) {}
Кроме того, я бы не создавал переменную экземпляра и не сохранял бы достижимость, поскольку она может измениться (так как это для мобильного устройства). Безопаснее проверять соединение каждый раз, когда оно вам нужно. Поэтому я бы хотел написать:
if ([[Reachability reachabilityForInternetConnection] currentReachabilityStatus] == NotReachable) {}