2016-09-26 4 views
1

legacy docs에 따르면 Apple은 iOS 5 이상에서 실행되는 모든 응용 프로그램에 기본 NSURLCache 구현을 제공합니다.iOS 9 이상에서 URLCache.shared 동작

특별한 캐싱 요구 사항이나 제약이없는 응용 프로그램은 기본 공유 캐시 인스턴스를 수용 할 수 있어야합니다. 더 구체적인 요구가있는 응용 프로그램은 사용자 지정 NSURLCache 개체를 만들고 setSharedURLCache:을 사용하여 공유 캐시 인스턴스로 설정할 수 있습니다. 응용 프로그램은 이 메서드를 호출하기 전에 그렇게해야합니다.

그러나 new API referenceURLCache.shared의 현재 페이지에이 정보를 지정하지 않습니다.

내 응용 프로그램에는 네트워크 요청이나 응답을 캐시하지 않아야한다는 요구 사항이 있습니다. iOS 9 이상을 타겟팅하는 응용 프로그램의 경우 Apple에서 여전히 NSURLCache을 제공합니까? 그렇다면 어떻게하면 NSURLSession 요청에 대해 완전히 비활성화하거나 무시하거나 용량을 0으로 설정할 수 있습니까?

답변

3

애플의 새로운 개발자 문서 사이트가 아닌 분야에서 사생활, 검색 가능성 및 스캔 가능성을 사상 최저로 낮추는 변화는 없습니다. 하지만 당신이 찾는 정보는 당신이보고있는 정보와 연결된 50 개 정도의 서브 페이지 중 하나에 있다고 확신합니다.

WWDC 사이트에만 영향을 미쳤을 때 충분히 나빴습니다. 자, 나쁜 디자인이 전이 된 것 같습니다. 미안하지만 소프트웨어가 제 생각과 흡사합니다.

한 단어 : 롤백. 그냥 말해.

하지만 원래 질문에 대답하려면 네, 여전히 공유 캐시가 있습니다. 호환성에 악영향을 미치지 않으면 제거 할 수 없습니다.

그러나 NSURLSession 요청은 세션 구성 방법에 따라 반드시 동일한 캐시를 사용하지 않습니다. 캐싱을 피하는 가장 쉬운 방법은 여전히 ​​NSURLSession을 사용하고 구성에서 세션 캐시를 명시 적으로 제외하는 것입니다. 물론 이는 세션을 통해 자신을 만드는 요청에만 영향을 미칩니다 (예 : 웹보기가 아닌 경우).

관련 문제