난 당신이 함께 방문한 최근 웹 페이지를 연결하는 응용 프로그램을 짓고 있어요Safari의 NSURLCache 상점을 어떻게 공유합니까?
배경입니다.
이렇게하려면 코코아를 사용하여 최근 URL에 대해 HTML을 가져와야합니다.
지금 당장은 보이지 않는 WebView를 사용하고 있습니다.
내 앱의 캐시에 URL이 이 아니라면 이해합니다.이 URL은 입니다.
내가
확률이 페이지가 이미 방문한 된대로 내가 잡고있어 URL이 이미 사파리 캐시 된 것을 높다 원하는 것은.
내 앱이 URL의 Safari 캐시를 먼저 확인하도록합니다. 그것이 있으면이 데이터 만 사용해야합니다. 그렇지 않은 경우 웹 서버에 도달하여 페이지를 내 앱의 캐시에 저장해야합니다.
Safari에서 cache.db 파일을 sqlite3을 사용하여 구문 분석하지 않으려 고합니다.이 형식이 그대로 유지되는지는 잘 모르겠습니다. 나는 좀 더 단순하고 높은 수준을 추구합니다. 내가
난 당신이 방법 initWithMemoryCapacity:diskCapacity:diskPath:
를 사용하여 자신의 NSURLCache를 설정할 수 있다는 사실을 알고 시도했지만 내가하여 나사 경우 사파리 캐시에 사파리를이 위쪽을 가리키는 시도하지 않으려는 무엇
그것에 쓰는 것.
Safari 캐시를 쉽고 높은 수준으로 공유 할 수 있습니까?
UPDATE
아하. 나는 내가 놓친이 일을하는 방법이있을 수 있다는 것을 깨달았습니다.
나는 페이지를로드 할 때 다음 URL 요청에 대한 NSURLRequestReturnCacheDataDontLoad
의 캐시 정책을 지정, 사파리 캐시에 그것을 가리 initWithMemoryCapacity:diskCapacity:diskPath:
와 NSURLCache
의 새로운 인스턴스를 만들 수 있습니다.
이 작업이 실패하면 정상적으로 페이지를로드하려고 시도 할 수 있습니다. 나는 이것을 시험해보고 더 많이 알 때 질문을 업데이트 할 것이다.
한숨. 아직 시도하지 않았지만 당신이 옳다는 것을 확신합니다. 그것은 완전한 이해가 될 것입니다. –
Safari는 방문한 페이지의 사본을 방문 기록에 저장하여 Spotlight에서 검색 할 수 있도록합니다. 그런 식으로 필요한 것을 빼낼 수 있습니까? –