0

嗨,我正在使用 tony Millions 可达性类。

https://github.com/tonymillion/Reachability

直到今天我一直在使用这个没有问题。

在任何 6.1 和 7.0 的 IOS 模拟器中,这一切都很好,但如果我部署到实际的 IOS 设备,可达性块不会被触发。在模拟器中一切正常,我在调试窗口中得到 ns 日志“已连接”或没有,代码工作正常。

在不修改代码的情况下,在设备上运行时没有调试消息并且代码不会运行。它也不会产生错误。

自从上周在设备上运行以来,我实际上并没有更改任何代码。

我已将 xcode 升级到最新版本。

如果它在模拟器和设备上不起作用,我会理解代码存在问题,但因为它在模拟器上运行,而不是在设备上运行(在运行 IOS 6.1 的 iPad 和运行 IOS 7.02 的 iPhone 上尝试过 - 两种设备的行为同样)。

代码在下面剪断了它。

有任何想法吗?

// Checks if we have an internet connection or not
- (void)testInternetConnection
{
    NSLog(@"before");
    self.reachable= [Reachability reachabilityWithHostname:@"www.google.com"];
    NSLog(@"after");
    // Internet is reachable
    self.reachable.reachableBlock = ^(Reachability*reach)
    {
        NSLog(@"connected");
        //on simulator we get here and connected logged in debug window, but NOT on   

         //devices
        // Update the UI on the main thread

        dispatch_async(dispatch_get_main_queue(), ^{
            [self reachabilityChanged:YES];
        });
        [self.reachable stopNotifier];

    };

    // Internet is not reachable
    self.reachable.unreachableBlock = ^(Reachability*reach)
    {
        NSLog(@"no connectiont");

        // Update the UI on the main thread
        dispatch_async(dispatch_get_main_queue(), ^{
            [self reachabilityChanged:NO];
        });
        [self.reachable stopNotifier];

    };

    [self.reachable startNotifier];
}
4

0 回答 0