AFNetowrking을 사용하여 동기식으로 웹 서비스를 호출합니다. 예를 들어 서버에 일부 데이터를 업로드하는 중이고 Wi-Fi를 업로드하는 중입니다. Wi-Fi를 사용할 수 없다는 것을 어떻게 알 수 있으며 요청을 취소 할 수 있습니까?네트워크 요청시 Wifi를 사용할 수 없습니다.
0
A
답변
1
:
이 cocoapod을보십시오. 하지만 사용하지 않을 경우 아래의 Apple 샘플 코드에 나와 있습니다.
프로젝트에서 이러한 클래스를 포함합니다. 이제AppDelegate.m
파일의 도움으로 네트워크 가용성을 추적 할 수 있습니다.
didFinishLaunchingWithOptions:
방법으로 알림 옵저버를 추가하십시오. 네트워크 변경 사항을 알립니다.
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(reachabilityDidChange:) name:kReachabilityChangedNotification object:nil];
}
호스트 연결이나 네트워크 연결에 변경이있을 때 알림 메서드가 호출됩니다.
- (void)reachabilityDidChange:(NSNotification *)notification {
Reachability *reachability = (Reachability *)[notification object];
NetworkStatus internetStatus = [reachability currentReachabilityStatus];
switch (internetStatus) {
case NotReachable: {
NSLog(@"The internet is down.");
break;
}
case ReachableViaWiFi: {
NSLog(@"The internet is working via WIFI.");
break;
}
case ReachableViaWWAN: {
NSLog(@"The internet is working via WWAN.");
break;
}
}
NetworkStatus hostStatus = [reachability currentReachabilityStatus];
switch (hostStatus) {
case NotReachable: {
NSLog(@"A gateway to the host server is down.");
break;
}
case ReachableViaWiFi: {
NSLog(@"A gateway to the host server is working via WIFI.");
break;
}
case ReachableViaWWAN: {
NSLog(@"A gateway to the host server is working via WWAN.");
break;
}
}
}
연결을 끊을 때 NSURLConnection
요청을 취소하십시오.
이동 요청을 취소하려면 - (void)cancel;
방법을 NSURLConnection
으로 지정하십시오.
0
Wi-Fi까지 다시 시도하면 다시 시도 할 수 없습니까? 난 당신이 도달 가능성 클래스를 사용하지 않았거나 모르겠어요 https://github.com/shaioz/AFNetworking-AutoRetry
당신은 접근 가능성 클래스를 사용하고 있습니까 –
예. 동기 요청 전에 Wi-Fi를 확인하고 있습니다. 그러나 문제가 진행되는 동안 – Hassy