2011-12-13 1 views
1

웹 서비스에서 일부 데이터를 다운로드하고 tableviews에 표시하는 간단한 앱이 있습니다. 오프라인 액세스를 허용하기 위해 앱은이 데이터를 기기 자체의 캐시 디렉토리에 캐시합니다. 내가 참조 용으로 캐시 된 모든 파일의 목록을 유지하고 캐시 디렉토리에도 저장하십시오. 그래서 다운로드 결국 나는 다음과 같은 파일이 완료 : iOS 앱 업데이트 중에 실제로 진행되는 작업은 무엇입니까?

XMLFileList 
XML1 
XML2 
... 

나는 몇 주 전에이 앱 출시 이후 몇 가지 사소한 버그를 해결하기 위해 필요에 따라 몇 가지 사소한 업데이트를 발표해야했다. 그러나 사용자가 기기에서 앱을 업데이트하면 더 이상 다운로드 한 리소스가 표시되지 않는 것으로 보입니다. 앱 스토어를 통해 업데이트 한 다음 디버그 빌드를로드하고 다음 문제를 결정하여 개발 기기에서이 문제가 발생하도록했습니다.

다운로드 한 파일에 데이터가 표시되지 않는 것 같습니다. 그들은 더 이상 존재하지 않는다. 파일이 저장된 목록에 나타나기 때문에 파일을 다시 다운로드하지도 않습니다. 이것은 흥미로운 질문을 던집니다. 캐시 된 XML 파일은 왜 삭제되었지만 마스터 목록은 삭제되지 않았습니까?

계속해서 문제가 발생하지 않도록 계정을 만들거나 재현 할 수있는 앱 업데이트 중에 정확히 무엇이 진행되고 있습니까?

답변

2

/Library/Caches (또는 그 무엇이든지)에 파일을 넣는다면, 그 파일들이 다음에있을 것이라는 보장은 없습니다 앱 실행 시간. 그러나/Documents에 넣은 내용은 모두 여기에 있습니다. 사실/Documents의 모든 내용은 iOS 5.0.1에서 새로 추가 된 비트를 설정하지 않으면/Documents에있는 파일을 iCloud에 백업 할 수 있습니다.

어쨌든, 요점은 어디에 파일을 놓아야하는지 Apple의 문서를 읽어야한다는 것입니다. (나는 올바른 참조를 성공적으로 찾지 못했지만, 전에도 그것을 보았습니다.) 이것은 다음과 같습니다. 사용자가 생성 한 것은/Documents에 들어가야합니다. 서버에서 다시 가져올 수있는 것은/라이브러리/캐시 이며 OS으로 삭제 될 수 있습니다.

+0

그래, 그게 내가 두려워했던 것. 이제 앱을 다시 저장하여 앱에서만 해당 파일에 액세스 할 수있게하려면 어떻게해야합니까? –

+0

/Documents에 넣고 (iOS 5.0.1에서 백업하지 말 것) 필요할 때마다 앱을 다시 다운로드 할 수있게하십시오. –

0

캐시 디렉토리 내용이 보존되지 않을 수도 있습니다. 그러나 전체 디렉터리가 한 번에 모두 삭제된다는 문서화 된 보증은 없습니다. (아마도 가장 크거나 가장 오래된 내용 일 수도 있습니다.)

관련 문제