C++ 在使用可达性框架检测网络接口类型时,iOS(跨平台C+;+;库解决方案)中出现生成错误
我试着使用这里给出的代码。但我在这方面面临一些问题。为了使用我从下载的Reachability.h和Reachability.m代码。但每当我试图编译时,它都无法识别可达性类。导致问题的代码块如下所示:C++ 在使用可达性框架检测网络接口类型时,iOS(跨平台C+;+;库解决方案)中出现生成错误,c++,ios,objective-c,reachability,C++,Ios,Objective C,Reachability,我试着使用这里给出的代码。但我在这方面面临一些问题。为了使用我从下载的Reachability.h和Reachability.m代码。但每当我试图编译时,它都无法识别可达性类。导致问题的代码块如下所示: Reachability *reachability = [Reachability reachabilityForInternetConnection]; // in this line it doesn't recognize "Reachability" [reachability sta
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
}
请注意,我在跨平台C++库解决方案中在iOS块中使用此代码。我需要尽快解决这个问题。我正在寻求帮助来解决这个问题
编辑: 为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
我想使用上面的代码,还想编译代码。怎么做?问题已经解决。我已经通过使用可达性框架的核心代码解决了这个问题。如果有人面临同样的问题,我可以提供帮助
出现此问题是因为“NotReachable”、“ReachableViaWifi”和“ReachableViaWWAN”是用户定义的枚举。它不包括在“可回收性.h”中。因此,我下载了一个关于可达性框架的项目,并找到了这些值的真实系统标志。解决了这个问题。所以在C++代码中使用Objto-C是个问题吗?所以你还没有发现ObjultC++?不,你能给我一个启发吗?但是,您需要在Objective-C++(
.mm
文件)中调用该代码。这将很困难,因为禁止在我们的项目中添加.mm文件(