I’m trying to figure out how to use the libimobiledevice API. I have been writing my own programs for a few years now, but I have never used any non-standard libraries aside from Qt.
How would you recommended digging into this? I’ve looked through their docs, but I need to see a few simple example projects utilizing the library, a Quick Start guide or other material to fully understand how it works. I’m particularly interested in music sync.
The documentation on that project seems rather poor, but there are examples in the bottom of the page in the links section that you can get with git. For example you can get the ideviceinstaller one with:
And it will install into a directory off of your working directory.
The documentation is just doxygen generated stuff, so all that information is in the source code and it will probably be easier to just download that and use it as a reference. Don’t know what development environment you are in, but it probably has something equivalent to TAGS files in it you can use to automatically look up function calls as you’re looking through the source.
I’ve found out that music management is done in conjunction with libgpod, so I’m afraid that the example you found can only teach me how to establish and break a connection with an iPhone. Their API documentation is a little bit better and some examples are also included.
libgpod, as well as libimobiledevice, does not contain a lot of comments in its source, which makes it harder to understand what’s happening. Are all Linux libraries like that?
Checkout the sources of the very simple tools and development utilities. For music sync though, libgpod is responsible. The part that libimobiledevice takes is to mount the iDevice and allow libgpod to access it’s filesystem to work with the music database.