1. 程式人生 > >libimobiledevice在mac和Linux上面的使用

libimobiledevice在mac和Linux上面的使用

目前公司想通過樹莓派linux系統和蘋果手機連接獲取一些手機資訊,所有研究了一下libimobiledevice,這裡寫一下具體的過程和遇到的問題以及解決方法。**
在Mac上面安裝libimobiledevice。
首先是安裝工具和相關外掛,可以通過mac上面的homebrew工具進行外掛安裝。安裝homebrew必須先確定已經安裝好xcode,github上homebrew地址:https://github.com/Homebrew/homebrew,在終端輸入:ruby -e “$(curl -fsSL https://raw.github.com/Homebrew/homebrew/go/install

)”開始安裝。需要安裝的外掛有:libgnutls(或openssl),libplist,libusbmuxd(或usbmuxd)。另外在編譯時可能需要用到的:make,autoheader,automake,autoconf,libtool,pkg-config,gcc。如果有找不到路徑的提示就把外掛直接拷貝到libimobiledevice檔案下面。如果不能安裝外掛就升級homebrew。
安裝libimobiledevice,直接用brew install libimobiledevice進行安裝然後試一下idevice_id -l命令,如果顯示成功說明libimobiledevice安裝成功,然後把ideviceinstaller也安裝上去。如果沒有成功就只能去git下載檔案安裝。git地址
https://github.com/libimobiledevice/ideviceinstaller.git
,進入檔案執行命令./configure 、make、 sudo make install三個命令一次執行。最容易出問題的地方是在./configure執行的時候如果出現少什麼外掛在去安裝,如果最後出現make字樣說明執行成功,就可以開始執行make了。
下面是命令執行例子:
獲取手機上面使用者app軟體
獲取手機上面使用者app軟體

安裝app軟體
這裡寫圖片描述

手機資訊
這裡寫圖片描述

手機系統log
這裡寫圖片描述

手機備份
這裡寫圖片描述

別的命令就不說了,自己去看tools資料夾裡面就可以了。

在樹莓派(Linux)上面安裝libimobiledevice。相對mac可能相對麻煩一點外掛比較多,問題也多,下面一步一步來安裝。
首先執行sudo apt-get install build-essential automake autoconf git cmake pkg-config libtool開始安裝外掛,如果安裝不能成功,自動連線mirrors.zju.edu.cn伺服器,而且速度為0,一直不能更新那麼需要編輯source.list檔案,命令如下
sudo vim /etc/apt/sources.list

註釋掉原有內容,新增如下內容:

deb http://mirror.sysu.edu.cn/raspbian/raspbian/ jessie main contrib non-free
deb-src http://mirror.sysu.edu.cn/raspbian/raspbian/ jessie main contrib non-free

儲存後執行sudo apt-get update,然後就可以繼續安裝軟體了。

安裝libplist

sudo apt-get install libxml2-dev python-dev python-pip
sudo pip install python//這個如果裝不上可以不裝
git clone https://github.com/libimobiledevice/libplist.git
cd libplist
./autogen.sh
make
sudo make install

安裝libusbmuxd

git clone https://github.com/libimobiledevice/libusbmuxd.git
cd libusbmuxd
./autogen.sh
make
sudo make install

安裝libimobiledevice

git clone https://github.com/libimobiledevice/libimobiledevice.git
cd libimobiledevice
./autogen.sh
make
sudo make install
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib

安裝usbmuxd

sudo apt-get install libusb-dev libusb-1.0-0-dev
git clone http://git.sukimashita.com/usbmuxd.git
cd usbmuxd
./autogen.sh
make
sudo make install

安裝ideviceinstaller

sudo apt-get install libzip-dev
git clone https://github.com/libimobiledevice/ideviceinstaller.git
cd ideviceinstaller
./autogen.sh
make
sudo make install

安裝ifuse

sudo apt-get install libfuse-dev
git clone https://github.com/libimobiledevice/ifuse.git
cd ifuse
./autogen.sh
make
sudo make install

然後如果安裝完開始驗證,使用ideviceinfo如果可以打印出資料說明安裝成功,

可能遇到的問題
如果在驗證時候出現Could not connect to lockdown,那麼在linux連線手機的時候不要先去打命令現在手機號上面確認同意裝置,然後在打命令應該就好了,如果還不行就重啟手機和linux系統,同樣手機先點選信任系統。

在使用截圖或者安裝軟體的時候出現Could not find Developer Disk Image,那麼就去Xcode裡面/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/DeviceSupport把相應版本的的DeveloperDiskImage的兩個檔案複製到linux的libimobiledevice檔案下面。獲取版本號命令:ideviceinfo -k ProductVersion,然後安裝DeveloperDiskImage命令:ideviceimagemounter DeveloperDiskImage.dmg,然後就可以截圖了。每次重啟linux都需要重新安裝。