Подготовка
Что из пакетов есть:
usbmuxd-devel.x86_64 : Development package for usbmuxd
usbmuxd.x86_64 : Daemon for communicating with Apple's iOS devices
afpfs-ng-devel.x86_64 : Development files for afpfs-ng
fuse-afp.x86_64 : FUSE driver for AFP filesystem
gvfs-afp.x86_64 : AFP support for gvfs
afpfs-ng.x86_64 : Apple Filing Protocol client
dmg2img.x86_64 : Uncompress the Apple compressed disk image files
libgpod.x86_64 : Library to access the contents of an iPod
libgpod-sharp.x86_64 : C#/.NET library to access iPod content
python-gpod.x86_64 : Python module to access iPod content
libimobiledevice-devel.x86_64 : Development package for libimobiledevice
libimobiledevice-python.x86_64 : Python bindings for libimobiledevice
libimobiledevice.x86_64 : Library for connecting to mobile devices
libplist.x86_64 : Library for manipulating Apple Binary and XML Property Lists
Устанавливаем только необходимое:
sudo yum install -y libgpod libimobiledevice libplist usbmuxd
Если собирать из свежего среза заявлена совместимость up to iOS 10!
Работа
Собственно, уже этого достаточно для базовой работы с iДевайсом из GUI: доступны фото, записи с диктофона, есть возможность перетаскивать документы из/в песочницы программ, использования айфона в качестве GSM/3G/LTE-модема (не надо ничего настраивать!), etc.. Чтобы при каждом подключении к хосту iДевайс не спрашивал, доверять ли этому хосту, то делаем upair-pair:
$ idevicepair unpair
$ idevicepair pair
SUCCESS: Paired with device 13e1...8846
$ idevicepair validate
SUCCESS: Validated pairing with device 13e10...8846
Если что-то пошло не так, иногда помогает переподключение iДевайса к хосту.
Команды в CLI
Список доступных утилит текущей* версии libimobiledevice
:
idevicebackup
idevicebackup2
idevicedate
idevicedebugserverproxy
idevicediagnostics
ideviceenterrecovery
idevice_id
ideviceimagemounter
ideviceinfo
idevicepair
ideviceprovision
idevicescreenshot
idevicesyslog
Выясняем какие девайсы подключены:
$ idevice_id --list
13e1...8846
dead...beef
6a1d...4d7c
Выясняем что за устройство подключено по его уникальному ID:
$ ideviceinfo --simple --udid 13e10...8846
BuildVersion: 13G36
ChipID: 35138
DeviceClass: iPod
DeviceColor: white
DeviceName: Doka's iPod touch
DieID: 2815351804636929824
HardwareModel: N78AP
ProductName: iPhone OS
ProductType: iPod5,1
ProductVersion: 9.3.5
ProductionSOC: true
ProtocolVersion: 2
TelephonyCapability: false
UniqueChipID: 497747092424
UniqueDeviceID: 13e10...8846
WiFiAddress: xc:zd:ya:7w:7v:8s
Делаем бэкап с помощью idevicebackup2
(idevicebackup является устаревшей ибо подерживает iOS до версии 4 включительно):
$ idevicebackup2 --udid 13e10...8846 backup /work/iPod-backup
Backup directory is "/work/iPod-backup"
Started "com.apple.mobilebackup2" service on port 50744
Starting backup...
Requesting backup from device...
Рингтоны
С помощью ffmpeg можно самому изготавливать рингтоны для айДевайсов (по сути: перекодировать в ААС). По какой-то непонятной причине длительность мелодии ограничена ~40 секундами, поэтому дополнительно надо будет в ffmpeg обрезать мелодию. Также полезным будет снизить битрейт и перевести в моно - памяти в телефоне никогда не бывает много:
ffmpeg -i Cafe.mp3 -ss 75 -t 30 -ac 1 -ab 96k -f mp4 -acodec libfaac -metadata title="Cafe De Flor" -metadata genre="Ringtone" -y Cafe.m4r
Итак, разберем этот простой пример:
- -i Cafe.mp3 - имя входного файла
- -ss 75 - Start since 1:15
- -t 30 - продолжительность отрывка 30 секунд
- -ac 1 - моно
- -ab 96k - битрейт 96kbps
- -f mp4 -acodec libfaac - кодировать в ААС-формат M4A
- -y Cafe.m4r - перезаписать файл, если такой уже существует
- В списке рингтонов на АйДевайсе мелодия будет отображена под именем “Cafe De Flor”
Ссылки
- http://www.libimobiledevice.org/ - libimobiledevice is a cross-platform library that talks the protocols to support iPhone, iPod Touch, iPad and Apple TV devices. Unlike other projects, it does not depend on using any existing proprietary libraries and does not require jailbreaking.
- http://www.gtkpod.org/libgpod.html - Libgpod is a library to access the contents of an iPod. It supports playlists, smart playlists, playcounts, ratings, podcasts, album artwork, photos, etc.