В моето приложение за iOS се опитвам да следи интернетсвързаност. Показвам предупреждение, ако потребителят не е свързан към интернет. Въпреки това, установявам, че сигналът може да отнеме много време, за да бъде видим, от порядъка на 30 секунди. Има ли друг начин да се покаже по-бързо сигнал, ако даден потребител не е свързан?
Аз съм тестване с моя iPhone 5S в самолетен режим.
- (void)viewDidLoad
{
[super viewDidLoad];
Reachability *internetConnection = [Reachability reachabilityWithHostname:@"www.google.com"];
// Internet is not reachable
internetConnection.unreachableBlock = ^(Reachability*reach)
{
disconnected = YES;
NSLog(@"no network connection");
UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"No network connection"
message:@"You must be connected to the internet to use this app."
delegate:nil
cancelButtonTitle:@"OK"
otherButtonTitles:nil];
[alert show];
};
Отговори:
0 за отговор № 1Опитайте този код:
-(void)setUpRechability
{
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(handleNetworkChange:) name:kReachabilityChangedNotification object:nil];
}
- (void) handleNetworkChange:(NSNotification *)notice
{
NetworkStatus remoteHostStatus = [self.reachability currentReachabilityStatus];
if (!(remoteHostStatus == NotReachable)) {
NSLog(@"Has internet");
}
else
{
NSLog(@"NO internet");
}
}