Neulich stand ich vor der Aufgabe, ein iPad in OSX 10.14 als externes Laufwerk zu mounten und Dateivorgänge über die Konsole auszuführen. Ich habe im Internet einige Anweisungen gefunden, wie man das mit dem ifuse-Dateisystem macht. Leider ist mit iOS 12 nichts herausgekommen. Das Gerät wurde entsperrt, der Zugriff auf Daten wurde zugelassen, trotzdem trat ein Fehler auf:
Failed to connect to lockdownd service on the device. Try again. If it still fails try rebooting your device.
Dieser Artikel wurde geschrieben, um Zeit für diejenigen zu sparen, die das gleiche Problem haben.
Auf
github gibt es eine Anweisung zum Erstellen von ifuse- und Hauptabhängigkeiten direkt aus der Quelle im Repository. Dies ist jedoch eine ziemlich sorgfältige Methode, da die Hauptabhängigkeiten viel mehr Abhängigkeiten aufweisen und auch usw. Daher verwenden wir das
Homebrew- Paketverwaltungssystem.
Es wird mithilfe eines Skripts auf der Offsite installiert:
/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
Das Skript selbst lädt alles herunter, was Homebrew benötigt, einschließlich der Xcode-Befehlszeilentools. Ifuse benötigt OSXFuse,
um von der
externen Site heruntergeladen oder mit dem folgenden Befehl installiert zu werden:
brew cask install osxfuse
Jetzt müssen Sie die Hauptabhängigkeiten installieren:
brew uninstall --ignore-dependencies libimobiledevice brew uninstall --ignore-dependencies usbmuxd
WICHTIG: Wenn Sie bereits stabile Versionen von libimobiledevice und usbmuxd installiert haben, müssen Sie diese entfernen und Entwicklungsversionen mit dem Schalter --HEAD installieren. Andernfalls tritt beim Verbinden von Geräten mit iOS 12 ein Fehler auf.
Installieren Sie abschließend iFuse:
brew install ifuse
Alles ist fertig, wenn ein Gerät angeschlossen ist, können Sie es mit dem folgenden Befehl mounten:
ifuse ~/_ifuse_mount_point
Dabei ist
~ / _ifuse_mount_point der Pfad zum Mountpunkt.

Ifuse kann ein öffentlich zugängliches Dateisystem (oder das gesamte Dateisystem, wenn Root vorhanden ist) sowie Anwendungsverzeichnisse bereitstellen, die die Dateifreigabe-API unterstützen.
Wenn mehrere Geräte angeschlossen sind, müssen Sie den Schalter -u verwenden, um auszuwählen, welches Gerät montiert werden soll
ifuse ~/ifuse_mnt -u <UniqueDeviceID>
Um UniqueDeviceID herauszufinden, können Sie den folgenden Befehl verwenden:
ideviceinfo

Um mit Spotlight zu beginnen, können Sie AppleScript erstellen und als Anwendung speichern:
try do shell script "/usr/local/bin/ifuse ~/_ifuse_mount_point" on error errMsg display dialog "ERROR: " & errMsg end try