2009-08-04 2 views
0

시뮬레이터에서 실행중인 앱이 있습니다. 나는 sqlite3 데이터 소스를 읽고 쓴다. 그러나, 내가 응용 프로그램을 다시 시작하면 이전에 DB에 쓴 모든 datg가 손실됩니다. 데이터는 항상 원래 상태입니다.iPhone 시뮬레이션에서 SQLite3에 쓰기

이제이 앱을 개발할 때 데이터가 아이폰 시뮬레이터를 통해 유지 될 수 없다는 어딘가에서 읽은 것 같아요.

아무도이를 확인하거나 거부 할 수 있습니까?

감사합니다.

답변

1

쓰기 가능한 위치에 데이터베이스 파일을 배치해야합니다. Documents 폴더에 있습니다. 모든 번들 파일은 읽기 전용 파일입니다.

앱과 함께 초기 데이터베이스를 배포하는 경우 Documents (또는 다른 폴더)에 복사하고 사본을 사용해야합니다.

애플리케이션의 데이터베이스 연결을 닫는 것을 확인해야합니다 (예 : applicationWillTerminate 메시지 수신).

+0

감사합니다. 문서 폴더로 복사 중입니다. 하지만 메신저 db를 제대로 닫으면 확실하지 않습니다. 이것을 시도하고 어떻게되는지보십시오. –

+0

확인. 내가 sqlite3_close라고 부르는 유일한 장소는 db 초기화 작업에 오류가있을 때입니다. 내 applicationWillTerminate 메시지에서, 내가하는 유일한 일은 그들이 더러운 경우 db에 대한 모든 데이터 엔티티를 업데이트하는 것입니다. 그 외에는 DB를 닫지 않아. 내가 있어야 할까? 단순히 sqlite3_close (db)입니까? –

+0

언제든지 쓰기 가능한 데이터베이스를 무시하지 않습니까? – notnoop

관련 문제