views:

3831

answers:

5

As I understand there aren't any public APIs available or any 'legal'/'official' way of accessing those...

I was just wondering how come some Desktop apps (MissingSync, iPhoneDrive) have access to those then...

A: 

I think it is because on the Desktop Apple has no way restricting a random application looking in a certain folder where the iPhone backup lives (Windows PC: C:\Documents and Settings\USERNAME\Application Data\Apple Computer\MobileSync\Backup) and reading information from it.

texmex5
Not sure why this was modded down. This is exactly how they work -- by reading the backup residing on the PC/Mac.
Stephen Darlington
A: 

the iPhone stores those in SQLite databases. If the application has access to those files, it can access the data.

Sietse
How can a application can access the path on jailbroken phone.
iPhoneDev
A: 

thx guys for the answer :-). it really clears my mind...

@texmex5 so you mean Desktop app is fetching all this info from Desktop backup files rather than form iPhone device directly ? meaning If I JUST connect my phone to PC (withouht syncing/backing up) the information fetched will be all outdated

/V

A: 

UPDATE: I found that Desktop App still shows the most updated info from iPhone device, without having to sync/back-up the device to desktop. Which makes me conclude that the Desktop app must be fetching info directly from the device and NOT from the back-up residing on Desktop (Windows PC: C:\Documents and Settings\USERNAME\Application Data\Apple Computer\MobileSync\Backup) Pls. correct me if am missing something here..)

A: 

Well i think it depends on the app and how crucial it is to have the most recent info - I've seen both done.

But I think getting the data directly from the phone is also possible as I found this project from Google - http://code.google.com/p/iphonebrowser/

Another way some apps do it is by asking your computer and your iPhone to be on the same network and then they also get direct access to iPhones filesystem (Things app does that and also the Apples own Remote app for iTunes)

texmex5
so if getting the data directly from phone is possible with desktop application, why cant iPhone native application have access to iPhone fie system (for SMS log, call log, calender etc.) ? If Apple has not published (iPhones) APIs for that then what set of APIs these desktop applications are using?
I think it is for security... Since there are so many applications there is always a possibility that someone is using my information for something fishy... eg. collecting phonenumbers and emails for spamming or other personal information that I have about me and my contacts.
texmex5
Plus there might be conflicts when at any given time tens of applications are using and modifing the same information..
texmex5
thx texmex5 for discussions :-)my confusion is: 'Technically' if Desktop applications can access iPhone file system, what prevents iPhone native apps to access same info ? cant be lack of APIs else how come Desktop apps can have access to it...