Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/iphone/41.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在iPhone中检查互联网状态_Iphone_Objective C_Xcode - Fatal编程技术网

如何在iPhone中检查互联网状态

如何在iPhone中检查互联网状态,iphone,objective-c,xcode,Iphone,Objective C,Xcode,我想检查是否使用SystemConfiguration或CFNetwork连接了internet我不太确定是哪一个 然后我想知道,如果互联网已经连接,那么它是否通过wifi连接 我尝试了一个使用以下代码的示例 -(IBAction) shownetworkStatus { NSString *str = @"http://www.google.com"; NSURL *url = [NSURL URLWithString:str]; NSURLRequest *req

我想检查是否使用SystemConfiguration或CFNetwork连接了internet我不太确定是哪一个

然后我想知道,如果互联网已经连接,那么它是否通过wifi连接

我尝试了一个使用以下代码的示例

-(IBAction) shownetworkStatus { NSString *str = @"http://www.google.com"; NSURL *url = [NSURL URLWithString:str]; NSURLRequest *req = [NSURLRequest requestWithURL:url]; if (req!=NULL) { lbl.text = @"Connected"; } else { lbl.text = @"notConnected"; } } -(iAction)显示网络状态 { NSString*str=@”http://www.google.com"; NSURL*url=[NSURL URLWithString:str]; NSURLRequest*req=[nsurlRequestRequestWithURL:url]; 如果(请求!=NULL){ lbl.text=@“已连接”; } 否则{ lbl.text=@“未连接”; } } 有人说,根据苹果的说法,这是无效的,你必须使用系统配置框架,请告诉我需要做什么

另外,我个人认为我在上面代码中所做的是不恰当的,好像有一天谷歌也可能因为维护或其他因素而宕机

另外,如果你能给我提供一个链接,让我可以显示WIFI网络的名称,那就太酷了

我在互联网上搜索了一下,然后得到了这些可达性。h代码,这也是一个保镖,因为我想学习这些概念,而不是复制粘贴它们


感谢并问候

您可以使用Apple提供的可达性代码。这是示例代码。您可以找到有关internet连接的全部详细信息。这是一个链接,您可以使用Apple提供的可达性代码。这是示例代码。您可以找到有关internet连接的全部详细信息。这是在Raxit提到的基础上构建的链接,我使用以下代码(摘自Raxit提到的可达性示例)检查我的应用程序委托中的internet访问:

- (BOOL)isReachableWithoutRequiringConnection:(SCNetworkReachabilityFlags)flags
{
    BOOL isReachable = flags & kSCNetworkReachabilityFlagsReachable;

    BOOL noConnectionRequired = !(flags & kSCNetworkReachabilityFlagsConnectionRequired);
    if ((flags & kSCNetworkReachabilityFlagsIsWWAN)) {
        noConnectionRequired = YES;
    }

    return (isReachable && noConnectionRequired) ? YES : NO;
}

- (BOOL)isHostReachable:(NSString *)host
{
    if (!host || ![host length]) {
        return NO;
    }

    SCNetworkReachabilityFlags        flags;
    SCNetworkReachabilityRef reachability =  SCNetworkReachabilityCreateWithName(NULL, [host UTF8String]);
    BOOL gotFlags = SCNetworkReachabilityGetFlags(reachability, &flags);

    CFRelease(reachability);

    if (!gotFlags) {
        return NO;
    }

    return [self isReachableWithoutRequiringConnection:flags];
}


- (BOOL)connectedToNetwork {

    return [self isHostReachable:@"www.hostyoureallycareabouthavingaconnectionwith.com"];
}

在Raxit提到的基础上,我使用以下代码(摘自Raxit提到的可达性示例)检查我的应用程序委托中的internet访问:

- (BOOL)isReachableWithoutRequiringConnection:(SCNetworkReachabilityFlags)flags
{
    BOOL isReachable = flags & kSCNetworkReachabilityFlagsReachable;

    BOOL noConnectionRequired = !(flags & kSCNetworkReachabilityFlagsConnectionRequired);
    if ((flags & kSCNetworkReachabilityFlagsIsWWAN)) {
        noConnectionRequired = YES;
    }

    return (isReachable && noConnectionRequired) ? YES : NO;
}

- (BOOL)isHostReachable:(NSString *)host
{
    if (!host || ![host length]) {
        return NO;
    }

    SCNetworkReachabilityFlags        flags;
    SCNetworkReachabilityRef reachability =  SCNetworkReachabilityCreateWithName(NULL, [host UTF8String]);
    BOOL gotFlags = SCNetworkReachabilityGetFlags(reachability, &flags);

    CFRelease(reachability);

    if (!gotFlags) {
        return NO;
    }

    return [self isReachableWithoutRequiringConnection:flags];
}


- (BOOL)connectedToNetwork {

    return [self isHostReachable:@"www.hostyoureallycareabouthavingaconnectionwith.com"];
}

如何获取wifi名称你能帮我了解一下吗?我认为你应该通过这条线索,如何获取wifi名称你能帮我了解一下吗?我认为你应该通过这条线索