Я пытался использовать код, приведенный здесь Пример кода доступности. Но сталкиваюсь с некоторыми проблемами, чтобы сделать это. Чтобы использовать код, я скачал Reachability.h и Reachability.m с Вот. Но всякий раз, когда я пытаюсь скомпилировать, он не распознает Класс достижимости. Блок кода, который вызывает проблему, приведен ниже —
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 и выяснил реальный системный флаг для этих значений. И решил вопрос.