Ошибка сборки в iOS (решение кроссплатформенной библиотеки C ++) при использовании инфраструктуры достижимости для определения типа сетевого интерфейса

0

Я пытался использовать приведенный здесь код. Но я сталкиваюсь с некоторыми проблемами, чтобы сделать это. Чтобы использовать код, я скачал 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

Я хочу использовать вышеуказанный код, а также хочу скомпилировать код. Как это сделать?

  • 0
    Так что это вопрос об использовании Objective-C в коде C ++?
  • 0
    Так вы еще не открыли Objective-C ++?
Показать ещё 4 комментария
Теги:
reachability

1 ответ

0
Лучший ответ

Проблема исправлена. Я исправил проблему, используя основной код платформы Reachability. Если кто-то сталкивается с той же проблемой, я могу помочь.

Проблема возникла из-за того, что "NotReachable", "ReachableViaWifi" и "ReachableViaWWAN" являются определяемыми пользователем перечислением. Он не включен в "Rechability.h". Итак, я загрузил проект на платформу Reachability и узнал реальный системный флаг для этих значений. И решил вопрос.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню