Я пытался использовать приведенный здесь код. Но я сталкиваюсь с некоторыми проблемами, чтобы сделать это. Чтобы использовать код, я скачал Reachability.h и Reachability.m отсюда. Но всякий раз, когда я пытаюсь скомпилировать его, он не распознает класс Reachability. Кодовый блок, который вызывает проблему, приведен ниже:
Reachability *reachability = [Reachability reachabilityForInternetConnection]; // in this line it doesn't recognize "Reachability"
[reachability startNotifier];
NetworkStatus status = [reachability currentReachabilityStatus]; // In this line it doesn't recognize "NetworkStatus"
if(status == NotReachable)
{
//No internet
}
else if (status == ReachableViaWiFi)
{
//WiFi
}
else if (status == ReachableViaWWAN)
{
//3G
}
Обратите внимание, что я использую этот код в блоке iOS в библиотечном решении кросс-платформы C++. Мне нужно решить эту проблему как можно скорее. Я ищу помощь для решения проблемы?
РЕДАКТИРОВАТЬ:
Ошибка сборки устранена после того, как я добавил проверку состояния для макроса OBJC. Но, похоже, код не компилируется. Вот отредактированный код
#ifdef __OBJC__
Reachability *reachability = [Reachability reachabilityForInternetConnection];
[reachability startNotifier];
NetworkStatus status = [reachability currentReachabilityStatus];
if(status == NotReachable)
{
//No internet
}
else if (status == ReachableViaWiFi)
{
//WiFi
}
else if (status == ReachableViaWWAN)
{
//3G
}
#endif
Я хочу использовать вышеуказанный код, а также хочу скомпилировать код. Как это сделать?
Проблема исправлена. Я исправил проблему, используя основной код платформы Reachability. Если кто-то сталкивается с той же проблемой, я могу помочь.
Проблема возникла из-за того, что "NotReachable", "ReachableViaWifi" и "ReachableViaWWAN" являются определяемыми пользователем перечислением. Он не включен в "Rechability.h". Итак, я загрузил проект на платформу Reachability и узнал реальный системный флаг для этих значений. И решил вопрос.