El otro día, me enfrenté a la tarea de montar un iPad en OSX 10.14 como una unidad externa, con la capacidad de realizar operaciones de archivo desde la consola. Encontré bastantes instrucciones en Internet sobre cómo hacerlo usando el sistema de archivos ifuse. Desafortunadamente, nada salió con iOS 12. El dispositivo se desbloqueó, se permitió el acceso a los datos, pero a pesar de esto se produjo un error:
Failed to connect to lockdownd service on the device. Try again. If it still fails try rebooting your device.
Este artículo está escrito para ahorrar tiempo a quienes tienen el mismo problema.
En
github hay una instrucción para construir ifuse y las principales dependencias directamente desde la fuente en el repositorio, pero esta es una forma bastante laboriosa, ya que las principales dependencias tienen muchas más dependencias, y también tienen etc. Por lo tanto, utilizaremos el sistema de administración de paquetes
Homebrew .
Se instala utilizando un script en el sitio externo:
/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
El script en sí descargará todo lo que necesita homebrew, incluidas las herramientas de línea de comandos de Xcode. Ifuse necesita OSXFuse para
funcionar , que se puede descargar desde
fuera del
sitio o instalar usando el comando:
brew cask install osxfuse
Ahora necesita instalar las principales dependencias:
brew uninstall --ignore-dependencies libimobiledevice brew uninstall --ignore-dependencies usbmuxd
IMPORTANTE: si ya tiene instaladas versiones estables de libimobiledevice y usbmuxd, debe eliminarlas e instalar versiones de desarrollo con el interruptor --HEAD; de lo contrario, se producirá un error al conectar dispositivos con iOS 12.
Finalmente, instale iFuse:
brew install ifuse
Todo está listo, si un dispositivo está conectado, puede montarlo con el comando:
ifuse ~/_ifuse_mount_point
donde
~ / _ifuse_mount_point es la ruta al punto de montaje.

Ifuse puede montar un sistema de archivos de acceso público (o el conjunto si hay root), así como directorios de aplicaciones que admiten la API para compartir archivos.
Si hay varios dispositivos conectados, para elegir cuál montar, debe usar el interruptor -u
ifuse ~/ifuse_mnt -u <UniqueDeviceID>
Para descubrir UniqueDeviceID, puede usar el comando:
ideviceinfo

Para comenzar desde Spotlight, puede crear AppleScript y guardarlo como una aplicación:
try do shell script "/usr/local/bin/ifuse ~/_ifuse_mount_point" on error errMsg display dialog "ERROR: " & errMsg end try