2014-01-21 1 views
1

나는 다소 이상한 질문이 있습니다. AFNetworking 2.0을 사용하여 현재 및 미래의 요청을 모두 차단할 수 있는지 알고 싶습니다. 내 앱이 다음과 같은 작업을 수행해야합니다. 사용자가 Wi-Fi 연결을 사용하지 않는 경우 앱에서 발생할 수있는 요청을 차단합니다. 는 난 단지 현재의 모든 요청을 차단하는 방법을 발견AFNetworking 2.0을 사용하여 모든 네트워킹 요청을 Wi-Fi 연결로 제한하려면 어떻게합니까?

[self.manager.operationQueue cancelAllOperations]; 

어떤 도움을 환영하고 많이 감사

+0

iOS 7 또는 이전 버전 만 지원합니까? –

+0

나는 당신의 대답에 대해 감사합니다. – alex

답변

0

네, AFNetworking 2.0를 사용하여 가능하다. 아래 링크를 확인하십시오.
1. AFNetworking + cancelAllRequests
2. How to cancel network request with afnetworking

업데이트 : -
당신이이 링크를 확인하고 싶은 확신 - AFNetworking and No Internet Connection scenario

+0

감사합니다. cancelAllOperations 메소드는 진행중인 모든 작업 만 취소합니다. 내가 필요한 것은 사용자가 만들 수있는 모든 미래의 요청을 차단하는 것입니다. 내 시나리오는 사용자가 셀룰러 데이터 (Wi-Fi 만 사용하기를 원함)를 사용하지 않으려는 경우 앱이 만들 수있는 요청을 차단해야한다는 것입니다 이 appRight에서 셀룰러 데이터를 사용하기로 동의 할 때까지 모든 요청을 건너 뛰기 위해 bool 값을 사용하고 있지만 각 요청마다 개별적으로 수행해야합니다. AFNetworking 2.0에서 사용자가 앞으로 요청할 수있는 것을 허용하지 않는 상위 레벨의 것을 찾고있었습니다. – alex

4

아이폰 OS 6 있기 때문에, NSMutableURLRequest 당신이 요청 될 수 있는지 여부를 지정할 수 있습니다을 셀룰러 연결을 통해 setAllowsCellularAccess:을 호출하여 만들었습니다. 이것은 Apple document에 의해 설명됩니다. 요청할 때마다이 값을 설정해야합니다. AFNetworking와

, AFHTTPRequestOperationManager에 훅하는 가장 깨끗한 방법은 자신의 requestSerializer subclass을 사용하고 슈퍼 전화 setAllowsCellularAccess:로 요청을 수정 -requestWithMethod:URLString:parameters:error:을 무시하는 것입니다.

iOS 7 코드 경로에서 NSURLSession을 사용하는 경우 의 allowsCellularAccess 속성을 NO으로 설정하여 사용할 수 있습니다. 세션 당 한 번만 설정됩니다.

+0

'setAllowsCellularAccess'를'NO '로 설정하면 장치에 Wi- Fi 및 셀룰러 연결이 켜져 있습니까? – iphondroid

+0

하위 클래스를 사용하지 않으려면'-requestWithMethod : URLString : parameters : error :'에 의해 반환 된 NSMutableURLRequest에서'setAllowsCellularAccess'를 YES로 설정할 수 있습니다 – blueether

관련 문제