view sqlite files on ipad - ipad

I developed an app which uses core data and creates an sqlite database on the ipad.
For debugging reasons I would like to access the sqlite file on the ipad.
I know the "fileURLwithPath" on the ipad but do not know how to get there.
On the simulator it is easy, since I can access any sqlite file on the mac with firefox sqlite extension.
But how can I access the ipad files?

Try using this to copy it to your mac first:
http://www.macroplant.com/iexplorer/

Related

How to update the sqlite database in iOS using iPad?

I want to do is to update the sqlite database in iOS using iPad. It is possible to drag the sqlite file in iTunes? Just to check if the data from sqlite display correct. I used DB Browser for SQLite.
Thank you in advance.

Are NSPersistentDocument and UIManagedDocument compatible?

I would like to create a NSPersistentDocument in Mac OS X and read this document as a UIManagedDocument on iOS 7.
Is this possible?
Are both file formats compatible?
Thank you!
Interesting question - I can confirm that the basic core data files are compatible. I have a Mac app and an iOS app using the same file that gets synced using iCloud. The app is a document based app and currently I have been storing the actual database file in iCloud so the whole file gets sync'ed by iCloud.
This works fine but obviously if a user opens the file on two devices and is not careful about saving and closing there is a possibility their changes may be overridden.
Apple has approved the Mac app which uses standard NSPersistentDocument to create and save files. Unfortunately they have rejected the iOS apps with some obscure reference to not conforming to their data storage guidelines, saying that documents must be stored in /Documents directory if they need to be backed up to iCloud. Well if the user has selected iCloud then I store the files in the iCloud location provided by the API calls.
Anyway I am still waiting to hear back from them about what is specifically wrong with this approach since it seems to be the same one used by Pages and other document based apps.
If I try using UIManagedDocument then iOS creates a folder structure and stores the database inside this folder structure. The Mac app File->Open dialog then shows this folder structure as well as a file that essentially looks like a the normal sqlite file. But then perhaps OS X 10.8.4 does not implement the latest iCloud/Core Data stuff - who knows...
EDIT
Here is a link to code examples and videos showing OSX and iOS app integration using Core Data and iCloud. http://ossh.com.au/design-and-technology/software-development/uimanageddocument-icloud-integration/
I agree this is definitely possible. I'm using NSPersistent document on OS X 10.8/10.9/10.10 with a binary core data format (no wrappers - plain files). On iOS i'm using UIDocument. Core data works fine in both environments.
Apple says NSPersistentDocument does not support iCloud. It is more correct to say it isn't fully supported. Most of the NSDocument support (which includes iCloud Document Library access from 10.8) will work. Handling of conflicted files on open works.
You can't enable auto save (which is listed as a requirement for iCloud Documents in the iCloud Design Guide). Autosave works asynchronously and is definitely not supported by NSPersistentDocument.
So if you handle file saving, and conflicts, it is possible to use NSPersistent document. There are some quirks: so, for example, if an iCloud change arrives on OS X for a document that is open, the normal NSDocument response would be to automatically reopen the document. This doesn't happen - and there is no warning the file has changed until you are about to save the file. But at least there is a warning. On iOS it is easier to detect changes as they happen by using UIDocumentStateChangedNotification.

Where does iPad app store data?

I have an iPad app that downloads PDF and audio files. I though these might be in the .ipa file (I used this thread ipad - extract images from application?) but I didn't see anything there.
Is there some way to find where these might be stored on a Mac (after syncing)?
Normally in many apps the media files will be downloaded to documents directory of app, which is inside the sandbox for the app. Simply telling when you instal a app OS will create a sand box, and all the data will be inside this sand box and only that particular app will have access to this data. So you will not be able to copy data.
Hope this answers your question.
The IPA is an application only. Once it is installed on your iPad, it becomes a "package". It does contain the data within that package with some apps that store locally. There is no Apple supported way to get to this data directly. Think of it like this. The IPA is kind of like a blueprint for a program. Like a blueprint for a shelf, I could build the shelf but the books wouldn't be stored in the blueprint. Only the shelf. When you install the app, the iPad builds your "shelf".

how does iphone access sqlite database in my mac

I am crating an app in Xcode which stores some user information in an SQLITE database called contacts.db in my mac in the documents folder and my simulator is able to pull it up. So everytime a new user sings up, it has to update this DB.
If I publish this app and the app starts running in multiple iphones, will those iphones be able to access same database in my mac by default?
If not how will you make iphones access this contacts.db running in my mac? How do I create that link?
There are different tools for that one of this is iExplorer. You can Download and install it on your mac and access you app data. :)

How to access external db file in Xcode

I am having a .sqlite file which already generated from some other application. Now I want to include that .sqlite file into Xcode and want to use that data for my(another) IOS Application. In android We can do that specifying the db file path. How can I achieve that in IOS?
In iOS you can't use other apps data. Actually your app run in a snadbox and you can't access anything outside that sandbox.

Resources