My undergraduate project is an iPhone application that will sync files with a dekstop application. Any idea on how to sync files from an iPhone application to a desktop application? Thanks!
My undergraduate project is an iPhone application that will sync files with a dekstop application. Any idea on how to sync files from an iPhone application to a desktop application? Thanks!
You're going to have to use WiFi (or I suppose you could use the cellular network). Under the standard SDK you can't use the USB connection via iTunes. That said, your options are pretty open, you could use Bonjour and/or FTP.
Due to the limitations of the Apple SDK you will not be able to touch any files outside of your sandbox to sync, so this utility will be quite limited (No syncing your iTunes library )
Use FTP as a protocol to push your data back and forth. You would basically need to have the PC act as a server and the phone would push up the newest data to it, then pull down the latest differences.
Not terribly efficient and has no real finesse... Perhaps use of WebDAV would be better.
Last edited by Encryptic; 10-13-2008 at 12:47 AM.
Reason: corrected typo
You can embed this in an application and use it as a feature for uploading/downloading files to and from it.
Its under the LGPL which allows you to use it without opening up the source to the rest of your app. but means that if you make changes to the library, fixing bugs etc, you must make those changes available. In this way we can all benefit.
Thanks for your ideas. The application where iPhone application will be synced is a java desktop application. This application uses JavaDB while iPhone uses SQLite, right? Is it possible to sync files with these two?
To do something as specific as that you may need to look at something else. Make your own protocol and create a connection between the 2 apps.
Or you could customise the ftp protocol in the server, and add some new commands which handle the movement of data back and forth. Make some commands up such as Update Record, and supply a record number as a parameter and pass the record back as data.
Asyncsocket is a nice encapsulation of the CoreFoundation sockets layer. Take a look at that.
I am synchronizing my local sqlite db with main server sql server 2005 db using webservice which is a wrapper on WCF(.NET).
I think u can synchronize data using webservice http get method.