can someone explain the usecase for this? what kind of apps you'll opens up when you can communicate to apple devices natively? you can't do that before this?
Flutter uses the tools built on top of this to automate the installation and bootstrap into their interactive code reload mechanism (by watching the device's syslog for the application to output the right port to connect to, which is then also accessed over the USB muxing bridge: libimobiledevice provides a way to activate the port mappings) for iOS apps you develop.
Essentially, this is giving you the ability to write tools similar to Android's adb (Android Debug Bridge), a tool that connects over USB to a daemon running on the phone to let you run commands and install apps and access the logs (which I take advantage of in Cydia Impactor, generalizing over the functionality of an integrated adb client and the functionality from libimobiledevice).
There are some very surprising tradeoffs for being in Apple’s ecosystem. Especially if you’re used to Android.
Let’s just say this: Apple took the time to create a whole different interface for the TRRS headphone jack just so they could have buttons on the headphone cable. Then when app developers thought it was awesome to be able to use that button as a trigger while the app was in the foreground, Apple stopped them by removing their App store listing until the dev submitted a version without that feature. Same with detecting touch size (to ingeniously determine touch pressure).
From the (currently broken) FAQ [1]:
"Sorry, music synchronization with newer devices is currently not supported but if you are a keen developer why not contribute a new service implementation for the ATC Service?"
I recently found one of the tools (some kind of low level REPL console) helpful to get my phone out of a recovery mode boot loop. I couldn't figure out how to do it any other way and was pretty grateful for its existence.
I had been feeling brave and tried to do a reset + update via KVM'd iTunes, but something went wrong with USB hot plugging with the way the device switches modes between boots ^_^.
I use it for tethering with my iPhone since my phone internet is better and more stable than the cable internet I have otherwise. I wouldn't be aware that this is possible without Libimobiledevice.
It may support that, but the tethered hotspot mentioned previously works perfectly well without this library for me on my Mac. When tethered together and hotspot enabled, I can use the iPhone's cellular data with no wifi on the Mac at all.
Could I use this to (for example) read and/or write the iPhone databases for Reminders and Calendar ? I ask because ifuse source is not compiling on macOS.
This is a communication and control library for iOS-based devices. For example, with this library you could program an application on Solaris which would control iOS devices or be able to transfer data to and from them, or do pedestrian things like load your own certificates into the target iOS device's store...
You can do this without this library. On iOS you could install an app like Charles Proxy, and install their cert to intercept traffic. Or you could proxy all traffic through your computer. Most apps does use certificate pinning today, but many still don't. I recently used this technique to reverse engineer a video streaming app
It's up to the app. I can use it to copy CBZ/CBR/PDF files into my comics reader or access my saved drawings from ArtStudio Pro: https://i.imgur.com/v5bckxU.png