Монтируем iOS под OSX с помощью ifuse

Моя цель - предложение широкого ассортимента товаров и услуг на постоянно высоком качестве обслуживания по самым выгодным ценам.

Прежде чем перейти к статье, хочу вам представить, экономическую онлайн игру Brave Knights, в которой вы можете играть и зарабатывать. Регистируйтесь, играйте и зарабатывайте!

На днях столкнулся с задачей примонтировать в OSX 10.14 iPad в качестве внешнего диска, с возможностью осуществлять файловые операции из консоли. В интернете я нашел довольно много инструкций как это сделать с помощью файловой системы ifuse. К сожалению с iOS 12 ничего не вышло. Устройство было разблокировано, доступ к данным разрешен, но несмотря на это возникала ошибка:

Failed to connect to lockdownd service on the device.
Try again. If it still fails try rebooting your device.


Данная статья написана чтобы сэкономить время тем у кого возникнет та же задача.

На github есть инструкция по сборке ifuse и основных зависимостей прямо из исходников в репозитории, но это довольно кропотливый путь так как у основных зависимостей есть еще множество зависимостей, а у них еще и т. д. Поэтому воспользуемся системой управления пакетов Homebrew.

Устанавливается она с помощью скрипта на оффсайте:
/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

Скрипт сам скачает все что необходимо homebrew, включая Xcode Command Line Tools. Для работы ifuse необходим OSXFuse, который можно скачать с оффсайта или установить с помощью команды:
brew cask install osxfuse

Теперь необходимо установить основные зависимости:
brew uninstall --ignore-dependencies libimobiledevice
brew uninstall --ignore-dependencies usbmuxd
#Если libimobiledevice и usbmuxd еще не устанавливались
#можно сразу выполнить эти команды
brew install --HEAD usbmuxd
brew unlink usbmuxd
brew link usbmuxd
brew install --HEAD libimobiledevice

ВАЖНО: Если у вас уже установлены стабильные версии libimobiledevice и usbmuxd их обязательно необходимо удалить и установить dev версии с ключем --HEAD иначе при подключении устройств с iOS 12 возникнет ошибка.

И наконец устанавливаем iFuse:
brew install ifuse

Все готово, если подключено одно устройство то примонтировать его можно командой:
ifuse ~/_ifuse_mount_point

где ~/_ifuse_mount_point путь к точке монтирования.

Ifuse умеет монтировать общедоступную файловую систему (или всю если есть root), а так же директории приложений которые поддерживают API расшаривания файлов.

Если подключено несколько устройств то для того чтобы выбрать какое из них примонтировать необходимо использовать ключ -u
ifuse ~/ifuse_mnt -u <UniqueDeviceID> 

Для того чтобы узнать UniqueDeviceID можно воспользоваться командой:
ideviceinfo



Для запуска из Spotlight можно создать AppleScript и сохранить его как приложение:
try
	do shell script "/usr/local/bin/ifuse ~/_ifuse_mount_point"
on error errMsg
	display dialog "ERROR: " & errMsg
end try
Источник: https://habr.com/ru/post/459888/


Интересные статьи

Интересные статьи

Подкасты – канал, который активно развивается весь 2020 год. Растет объем аудитории, да и самих подкастов становится все больше. При этом единого аудиторного измерителя слушателей не суще...
Страны всего мира обещают высадить миллиарды деревьев с тем, чтобы вырастить новые леса. Однако в новом исследовании демонстрируется, что потенциал поглощения углерода из атмосферы и влия...
Привет, Хабр. Данный текст можно считать продолжением статьи "Разбираем звук Dial-up модема", в которой разбирался метод установки связи между модемами. Сегодня мы пойдем дальше, и п...
Задача При разработке нашей игры The Unliving, мы поставили перед собой задачу по отображению различных сообщений, таких, как нанесенный урон, нехватка здоровья или энергии, величина награды...
В IT-компаниях и банках множество разных процессов. И если разработку софта и создание дизайна еще можно успешно оптимизировать с помощью гибких методологий (если их правильно внедрить и использо...