2015-01-05 2 views
3

핵심 데이터를 사용하고 데이터가 변경되면 정기적으로 디스크에 정기적으로 쓸 수있는 앱이 있습니다. 대부분의 사용자에게 이것은 정상적으로 작동합니다.코어 데이터가 디스크에 지속되지 않는 이유는 무엇입니까?

그러나 한 사람이 몇 시간 동안 앱을 사용할 수 있고 앱을 종료하고 다시 열어 본 경우에만 아무 것도 저장되지 않았 음을 알았습니다.

오류가 발생하지 않았으며 오류가 발생하지 않았습니다. 앱은 계속해서 완전히 사용할 수있었습니다. 디스크에 아무 것도 남기지 않았습니다.

앱을 계속 사용하면 같은 일이 발생하여 디스크에 아무 것도 저장하지 않습니다. 그 사람이 단순히 전화를 재부팅했을 때 문제는 실제로 코드 변경없이 해결되었습니다.

디스크 공간 문제 일 수 있는지 궁금합니다. 응용 프로그램은 그들의 휴대 전화에 약 170mb이며 그들은 ~ 300mb의 여유 공간이 있습니다.

여기에 제안 사항이 있습니다. 개인적으로 나는 누군가가 디스크에 저장할 필요가 없다는 것을 깨닫지 못하고 한 시간에 여러 시간 동안 계속해서 사용하도록하는 것보다 응용 프로그램이 다운되는 것을 차라리 생각합니다.

핵심 데이터 구현을 위해 Magical Record를 사용하고 있습니다.

나는 MR_saveToPersistentStoreAndWait을 사용 중이었고 이제는 MR_saveToPersistentStoreAndWaitWithError으로 전환했습니다. 그러나 나는 그것이 오류를 제기하고 있는지 전혀 몰랐기 때문에 이것에 대해 무엇을 확인해야할지조차 알지 못할 것입니다.

+0

추가 로깅을 사용하는 빌드를 사용자에게 제공 할 수 있습니까? 문제가 처음으로 다시 발생 했습니까? – Jasarien

+0

내가 아는 것이 다시는 일어나지 않았다. 아마도 추가 로깅을 통해 빌드를 얻을 수 있습니다. –

+0

재현성은 여기에서 중요 할 것이고 문제를 재현하지 않고도 로깅 빌드가별로 도움이되지 않을 것입니다. – Jasarien

답변

3

문제를보고 한 사용자의 기기에서 문제를 재현했는지 확신 할 수 없지만. 내 앱이 계속 작동 할 수있는 시나리오를 재현 할 수 있었지만 디스크에는 아무 것도 보관하지 못했습니다.

엔터티 모델의 유효성 검사 규칙을 충족하지 못한 개체를 수동으로 만들어이 작업을 수행했습니다.

컨텍스트를 저장하려고 시도하면 오류가 발생했지만 문제가없는 것처럼 계속 응용 프로그램이 작동합니다.

관련 문제