2014-02-19 2 views
1

많은 JSON 파일을 다운로드해야하는 앱을 만들고 있습니다. 처음에는이 파일을 앱 폴더에 삽입하려고합니다. 이런 식으로 사용자가 앱을 다운로드 할 때 처음에는 이러한 파일을 다운로드 할 필요가 없으며 오프라인에서 DB를 채울 수 있습니다. 그런 다음 (예를 들어 몇 시간)이 앱은 새 파일을 다운로드 (백그라운드 다운로드, DB 구문 분석 및 업데이트)하고 모든 데이터가 업데이트되었습니다. 이것은 완벽하지만 큰 문제가 있습니다. 사용자가 앱을 삭제하고 다른 시간 (예 : 일주일 후)을 다운로드하면 이전 데이터를 볼 수 있습니다. "문제"에 대한 해결책은 무엇입니까?iOS : 첫 번째 시작 앱에서 데이터 관리

감사합니다.

답변

2

iOS 응용 프로그램은 해당 폴더에만 데이터를 쓸 수 있습니다. 이 폴더는 응용 프로그램과 함께 완전히 삭제됩니다. 따라서 오래된 데이터에 대해 걱정할 이유가 없습니다.

업데이트 : 앱 폴더가 완전히 삭제되었습니다. 그러나 사용자가이 기능을 켜면 이전 데이터가 iCloud와 동기화 될 수 있습니다. 이를 피하려면 데이터 동기화를 금지로 표시해야합니다. 여기서 해결책을 찾을 수 있습니다. Prevent iCloud sync of data (using .nosync?)

+1

주의 사항 - 데이터가 키 체인에 저장되어 있으면 응용 프로그램이 제거 될 때 데이터가 삭제되지 않습니다. 오래된 데이터가 원하지 않으면 다른주의 사항을 취해야합니다. –

+0

유용한 참고 사항. +1. – Avt

+0

네,하지만 앱에서 다시 데이터를 다운로드 할 때 – CrazyDev

0

사용자가 2 개월 후에 앱을 설치하면 업데이트 된 데이터가 웹에서 나올 때까지 "이전"데이터도 갖게됩니다. 지금부터 몇 주 후에 앱과 함께 전달하려는 데이터에 아무런 가치가없는 경우 왜 미리로드하는 것이 좋을까요?

최대한 빨리 웹에서 업데이트 된 데이터를로드하여 사용자가 보는 데이터가 최신인지 확인해야합니다.

그런데 앱에서 미리로드 된 데이터베이스를 전달할 수도 있습니다. 처음 시작할 때 빈 데이터베이스를 채우기 위해 JSON 파일을 사용할 필요가 없습니다.

+0

음, 좋아요. 그러면 데이터를 처음에는 저장하지 말고 가능한 한 빨리 모든 데이터를 다운로드하십시오 ... ok – CrazyDev

+0

다릅니다. if 처음 몇 초 동안 데이터를 가져 오는 것이 합리적입니다. 2 달 후에도 유용한 시작 텍스트를 말하자면 초기로드에는 몇 시간이 걸리고 미리로드됩니다. 데이터가 미래에 쓸모 없게되고 사용자가 현재 데이터를 필요로하는 경우 사전로드를 신경 쓰지 마십시오. – TheEye