PTT推薦

[心得] 免iTunes存取iPhone的照片/影片/檔案

看板MobileComm標題[心得] 免iTunes存取iPhone的照片/影片/檔案作者
ivon852
(內容農場殺手)
時間推噓14 推:17 噓:3 →:10

因蘋果不喜歡企鵝系統,所以就有開發者做了跨平台工具跟蘋果裝置連接。

本文介紹免透過iTunes,也無需iMazing或iTools這類閉源軟體,就能從電腦存取
iPhone/iPad檔案的開源工具。甚至可以繞過iTunes做全機備份,不需要越獄。

https://i.imgur.com/Jc0bWMQ.jpg

圖https://i.imgur.com/Jc0bWMQ.jpg?e=1667542820&s=YlZr0k7fVxh5YedrLJztKg, 免iTunes存取iPhone的照片/影片/檔案

透過這些開源命令行工具,我們就可以還原iTools這類軟體七八成的功能,而無需購買軟體或使用奇怪的中國XX助手。

目錄
0. 安裝必要的工具
1. 與iPhone配對
2. 全機備份 ~ libmobiledevice用法
3. 存取iPhone 照片 ~ ifuse用法 (1)
4. 存取APP檔案 ~ ifuse用法 (2)
5. 安裝第三方APP ~ ideviceinstaller
6. 總結


0. 安裝必要的工具

這篇文章介紹的工具主要是針對Linux/MacOS設計的。要用Windows也是可以啦...不過你要自行修正指令語法。

我們會需要4個套件,Linux/MacOS可透過套件管理員安裝。Windows請到Github上搜尋編譯好的exe,並安裝iTunes補全驅動程式。

1. usbmuxd
2. libmobiledevice
3. ifuse
4. ideviceinstaller

接著讓我們來看看他們的用法。


1. 與iPhone配對 (僅Linux/MacOS?需要)

1. 首先,執行`usbmuxd`,啟動偵測Apple裝置的USB服務:
$ sudo usbmuxd -f -v &

2. 將iPhone插上電腦,輸入指令配對,在iPhone上點選「信任此電腦」:
$ idevicepair pair

3. 驗證連接是否成功,會回傳iPhone的ID:
$ idevicepair validate


2. 全機備份 ~ libmobiledevice用法

* libmobiledevice主要是用來存取iOS裝置訊息的工具,由開發者逆向工程Apple裝置的通訊協定而來。

比方說指令`idevicename`會回傳手機型號,`ideviceinfo`會回傳手機處理器在內的詳細訊息。`idevicedate`回傳手機日期。`idevicesetlocation`可以模擬iPhone的GPS位置。

更殺的來了,`idevicebackup2`指令能直接建立iPhone備份,不用透過iTunes。例如整機備份iPhone到`Downloads`目錄:
$ idevicebackup2 backup --full ~/Downloads

要還原則使用此指令:
$ idevicebackup2 --source "裝置ID" restore --system --settings --reboot
"備份檔路徑"



3. 存取iPhone 照片 ~ ifuse用法 (1)

* 要存取儲存裝置必須將其掛載,ifuse就是用來掛載iPhone的檔案系統用的。

1. 首先,建立掛載點:
$ sudo mkdir /run/media/$USER/iphone

2. 將iPhone的檔案系統掛載
$ sudo ifuse -o allow_other /run/media/$USER/iphone

3. 用檔案管理器開啟掛載點的`/DCIM/100APPLE`目錄,就能將iPhone「照片APP」的照片與影片傳輸到電腦了,建議用`cp -a`指令複製才能保留照片拍攝時間。
https://i.imgur.com/FPI8mHQ.png

圖https://i.imgur.com/FPI8mHQ.png?e=1667511213&s=FP4HqHveqWgHeMDqpsEtUA, 免iTunes存取iPhone的照片/影片/檔案

4. 使用完畢後取消掛載:
$ sudo fusermount -u /run/media/$USER/iphone


4. 存取APP檔案 ~ ifuse用法 (2)

* 在iOS裝置的「檔案」APP,你會看到有些APP開放讓你放檔案進去,也可以透過電腦
iTunes的「檔案共享」傳送檔案。ifuse可以在電腦上掛載這些APP的目錄,如果有越獄的話更是能掛載iPhone的內部目錄。

1. 使用指令`ifuse --list-apps`列出iOS裝置上已安裝的APP ID:
https://i.imgur.com/eHPN4cS.png

圖https://i.imgur.com/eHPN4cS.png?e=1667531527&s=sR7bpb-GScZZQT5eL9q3CQ, 免iTunes存取iPhone的照片/影片/檔案

2. 比方說我想從電腦把影片放到VLC播放器的目錄。先建立掛載點並掛載:

$ sudo mkdir /run/media/$USER/iphone-org.videolan.vlc
$ sudo ifuse -o allow_other --documents org.videolan.vlc-ios
/run/media/$USER/iphone-org.videolan.vlc


3. 這樣你就可以把電腦上的影片放到VLC的目錄了,手機端會馬上看到新增的影片。
https://i.imgur.com/JVaXAQV.png

圖https://i.imgur.com/JVaXAQV.png?e=1667557143&s=VcCXNF0Pcck-lo_l0OTngg, 免iTunes存取iPhone的照片/影片/檔案

4. 使用完畢也要記得取消掛載:
$ sudo fusermount -u /run/media/$USER/iphone-org.videolan.vlc


5. 安裝第三方APP ~ ideviceinstaller

* ideviceinstaller主要用來管理iOS裝置上的APP。

列出安裝的APP:
$ ideviceinstaller --list-apps

安裝自己編譯的IPA:
$ ideviceinstaller -i CercubePlus.ipa

因為這裡的IPA要自己用Xcode編譯和簽名,所以用AltStore裝IPA會比較方便。AltStore全平台使用教學請見:https://ivonblog.com/posts/ios-altstore/


總結

如果你覺得很麻煩,還是乖乖買iTools這類圖形工具吧?

這篇文章對Linux用戶比較有用,可以減少用Wine跑iTunes的機會。

--
https://i.imgur.com/KQbyqNf.jpg

圖https://i.imgur.com/KQbyqNf.jpg?e=1667548072&s=T2-nyI7PKml0cpHqmNChgw, 免iTunes存取iPhone的照片/影片/檔案
https://i.imgur.com/uZAFfTb.jpg
圖https://i.imgur.com/uZAFfTb.jpg?e=1667512952&s=xB7xt5KLwbB5C8oUifKJMQ, 免iTunes存取iPhone的照片/影片/檔案
https://i.imgur.com/FTZwiKG.jpg
圖https://i.imgur.com/FTZwiKG.jpg?e=1667534950&s=IJL3jxoUcO0OXsudFQSdiw, 免iTunes存取iPhone的照片/影片/檔案
https://i.imgur.com/RAftQ68.jpg
圖https://i.imgur.com/RAftQ68.jpg?e=1667563224&s=pwA-lYnAt7LJnibr91FNdg, 免iTunes存取iPhone的照片/影片/檔案
https://i.imgur.com/vZSP2Of.jpg
圖https://i.imgur.com/vZSP2Of.jpg?e=1667555050&s=qo0prFb2CtK-GZLJF8b8LA, 免iTunes存取iPhone的照片/影片/檔案

--

※ PTT留言評論
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 114.40.3.19 (臺灣)
PTT 網址

oblivionion09/26 19:30樓下用

slsamg711209/26 19:33這是有什麼好噓的

LastAttack09/26 19:37笑死 一樓八成沒看完 沒看到最後一句

Cyslot09/26 20:01看不懂一樓為什麼要噓

bced09/26 20:01我曾拿一台iPhone 13跟我的Linux筆電有線連結,結果:

bced09/26 20:02即插即用。什麼指令都不用,也不用安裝新軟體。

bced09/26 20:03不過我用的發行版是Linux Mint,很包山包海的OS。

因為我用Gentoo才要手動設定,Ubuntu那些都包好了,背後用的應該也是這些技術

hangtenboy09/26 20:15樓上說了什麼樓下懂嗎

ayuhb09/26 20:15有沒有android存取照片的教學

Android直接MTP就好了吧?不用特別裝什麼。不然你要用ADB指令快速傳也可以。

WestDoor020409/26 20:33android手機下載無線ftp伺服器,電腦裝filezilla cl

WestDoor020409/26 20:33inet,在同網路下,可以直接訪問手機目錄,備份超方

WestDoor020409/26 20:33便,速度可以跑100mb以上

multiView09/26 20:54拿安卓好嘛

mmppeegg09/26 20:58iTunes很吃Windows資源

※ 編輯: ivon852 (114.40.3.19 臺灣), 09/26/2022 21:05:56

velaro09/26 22:29

Taichun31809/26 22:49

ttlin766609/26 22:58雖然看不懂 但感覺很專業

mike060809/26 23:01這真的方便耶 推個

mike060809/26 23:03竟然用Gentoo 是高手!

victortang09/27 00:18檔案不是有smb可用?

沒在用Windows :( 不過確實是跨平台的方案

wmdlifecoba09/27 00:22神人 實用推

tomsawyer09/27 00:49mtp檔案一多就當

所以ADB比較穩

manpower909/27 00:57

joejoe1475809/27 01:03無資工資管底的人 強烈不建議使用

BadGame09/27 01:07魔法師但丁提供通過SMB協議讓iPhone用無線傳輸文件步驟

※ 編輯: ivon852 (114.39.57.81 臺灣), 09/27/2022 08:40:52

MusicD09/27 08:37竟然有這樣的解法,感謝分享

lunawalker09/27 09:38大師

jay92031409/27 09:57

sam74909/27 14:15