こんにちは、tony millions の到達可能性クラスを使用しています。
https://github.com/tonymillion/到達可能性
私は今日までこれを問題なく使用しています。
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];
}