How to put a pre-existing sqlite file into <Application_Home>/Library/?

Posted by Byron Cox on Stack Overflow See other posts from Stack Overflow or by Byron Cox
Published on 2012-11-11T21:34:19Z Indexed on 2012/11/11 23:00 UTC
Read the original article Hit count: 167

Filed under:
|
|
|

My app uses Core Data. I have run the app in the simulator which has successfully created and populated the corresponding sqlite file. I now want to get this pre-existing sqlite file on to an actual device and be part of my app. I have located the simulator generated sqlite file at /Library/Application Support/iPhone Simulator/6.0/Applications/identifier/Documents/myapp.sqlite and dragged it into Xcode. This has added it to my application bundle but not in an appropriate directory (with the consequence that the sqlite file can be read but not written to).

From reading about the file system I believe that the best place to put the sqlite file would be in a custom directory 'Database' under Application_Home/Library/. I don't seem to be able to do this within Xcode and despite searching I am unable to figure out how to do the following:

(1) Create a sub-directory called 'Database' in Application_Home/Library/ ? (2) Transfer the sqlite file to my newly created 'Database' directory ?

Many thanks to @Daij-Djan of his answer below.

One other question: the path to the sqlite file will be used by the persistent store coordinator. Now depending on the size of the sqlite file it may take a while to copy or move. How can you ensure that the example code provided by @Daij-Djan has executed and finished before the persistent store coordinator tries to reference the sqlite file?

Thanks for any help in advance.

© Stack Overflow or respective owner

Related posts about ios

Related posts about sqlite