2014-11-15 4 views
0

일부 데이터가 이야기보기 및 개별 상세보기로 표시되는 콘텐츠 읽기 앱을 개발 중입니다.AFNetworking lib가 iOS에서 오프라인 모드로 데이터를로드하지 않습니다.

이미 앱을 완성했지만 작은 버그가 있습니다.

온라인 데이터로드 및 오프라인 캐싱을 위해 AFNetworking 라이브러리를 사용하고 있습니다. 다음 코드에 의해 설명 된 바와 같이 내가 정의 캐싱 정책 :

Reachability *reach = [Reachability reachabilityWithHostname:@"google.com"]; 
if ([reach isReachable]) { 
    // Reachable 

    request = [NSMutableURLRequest requestWithURL:url 
             cachePolicy:NSURLRequestReloadIgnoringLocalCacheData 
            timeoutInterval:60.0]; 

} 
else{ 

    request = [NSMutableURLRequest requestWithURL:url 
             cachePolicy:NSURLRequestReturnCacheDataDontLoad 
            timeoutInterval:60.0]; 
} 

하지만, 내가 만약 내가 afterwords 및 온라인 일부 데이터를로드 한 후 인터넷 연결을 해제하고 응용 프로그램을 닫으면하는 작은 문제가 있습니다 오프라인 모드에서 앱을 다시 시작하면 캐시 된 데이터가로드되지만 실행되지 않습니다.

또한 this link에 정의 된 캐싱 정책을 변경해 보았습니다.


응용 프로그램 전개 대상 : 아이폰 OS 6.0
장치 : LIB 버전을 AFNetworking 6.1
: 보편적
엑스 코드 버전 2.0

답변

0

당신이 게시 그냥 NSURLRequestUseProtocolCachePolicy에 요청 캐시 정책을 설정 모든 코드를 교체합니다.

모든 요청에 ​​대해 현재 도달 가능 쿼리를 만들고 있습니다. 어느 쪽이든 그보다 나쁠지라도 즉시 반환되지만 실제 도달 가능성 상태가 결정되기 전에 항상 반환됩니다.

+0

감사합니다. 하지만 장치가 온라인 상태 일 경우 서버에서 데이터를로드하고 장치가 오프라인 상태 인 경우 로컬 캐시에서 데이터를로드해야합니다. 그러나 나는 그 상태를 달성 할 수 없다. 당신이 말하고자하는 바를 조금 더 설명해 주시겠습니까? – Neal

+0

안녕하세요, 매트, 귀하의 회신을 기다리고 있습니다. – Neal