Libimobiledevice: Difference between revisions

imported>Onny
Add instruction to avoid bugs
Klinger (talk | contribs)
mNo edit summary
 
(9 intermediate revisions by 6 users not shown)
Line 1: Line 1:
[https://www.apple.com/ios/ iOS] is an operating system created by Apple Inc. for use in the iPhone series of smartphones. Although connecting iOS devices to Linux is not supported by Apple, the [https://libimobiledevice.org/ libimobiledevice] project provides libraries and tools to connect and transfer data between iOS devices and Linux machines.  
{{DISPLAYTITLE:libimobiledevice}}
The [https://libimobiledevice.org/ libimobiledevice] project provides libraries and tools to connect and transfer data between iOS devices and Linux machines.  


== Usage ==
== Usage ==
Line 5: Line 6:
=== Preparation ===
=== Preparation ===


In order to be able to automatically mount your iOS device (such as an iPhone) when connecting it or to enable USB tehtering, you need to install <code>libimobiledevice</code> and to activate the <code>usbmuxd</code> service.
In order to be able to automatically mount your iOS device (such as an iPhone) when connecting it or to enable USB tethering, you need to install <code>libimobiledevice</code> and to activate the <code>usbmuxd</code> service.


Add the following to your <code>configuration.nix</code>:
Add the following to your <code>configuration.nix</code>:
Line 18: Line 19:
</syntaxhighlight>
</syntaxhighlight>


{{Note|Parts of this instruction and module are not yet stable and will be available in the upcoming NixOS 23.05 release.}}
If you experience issues mounting or pairing your device (for example as described [https://github.com/NixOS/nixpkgs/issues/152592 here]), you can try to switch the <code>usbmuxd</code> daemon package to an alternative more updated implementation, <code>usbmuxd2</code>.
 
In case you're going to experiencing issues mounting or pairing with your device (as described [https://github.com/NixOS/nixpkgs/issues/152592 here], you could try to switch the <code>usbmuxd</code> daemon package to an alternative more updated implementation, <code>usbmuxd2</code>.


<syntaxhighlight lang="nix">
<syntaxhighlight lang="nix">
Line 26: Line 25:
   enable = true;
   enable = true;
   package = pkgs.usbmuxd2;
   package = pkgs.usbmuxd2;
}
};
</syntaxhighlight>
</syntaxhighlight>


Line 48: Line 47:
Confirm pairing by accepting the connection on your iOS device. After that an ethernet device will appear in your network device list.
Confirm pairing by accepting the connection on your iOS device. After that an ethernet device will appear in your network device list.


== Maintainence ==
== Maintenance ==


=== Factory reset ===
=== Factory reset ===