(圖文無關) 昨天在微信收到一個大文件,73M,突然意識到,微信升級,終於衝過了30M的文件傳輸限制。接下來的問題,這是一個開發工程文件,要在電腦開發環境使用,怎麼把這個文件傳輸到電腦? 正常的方式是在電腦登陸電腦版微信,然後手機上轉發到“文件傳輸助手”,電腦上就可以收到,然後重新下載。 不過這裡有 ...
(圖文無關)
昨天在微信收到一個大文件,73M,突然意識到,微信升級,終於衝過了30M的文件傳輸限制。接下來的問題,這是一個開發工程文件,要在電腦開發環境使用,怎麼把這個文件傳輸到電腦?
正常的方式是在電腦登陸電腦版微信,然後手機上轉發到“文件傳輸助手”,電腦上就可以收到,然後重新下載。------不過這裡有兩個小障礙,如果這時候沒有外網怎麼辦?如果網速很慢怎麼辦?如果是規範的文件,比如視頻,比如圖片,還可以用蘋果的airdrop技術快速的傳出來,對了,IOS11的airdrop已經有了中文名,叫“隔空投送”。如果是非規範的文件,比如是壓縮包,那就只能藉助第三方的一些程式,比如某些雲端存儲的蘋果手機app,能支持iTunes傳輸就更好了,從而轉折一下傳輸到電腦。
對我還有一個更簡便的辦法,因為我有一部越獄的蘋果手機。這種手機現在已經很稀少了,所以下麵的內容僅供參考,可能並沒有太多應用價值。
首先在手機WIFI設置中查看一下手機的IP地址,其實連WIFI都沒有也沒關係,蘋果手機自己就可以把自己當做WIFI熱點。假設查到的手機地址是192.168.1.100,使用ssh鏈接到手機:
ssh [email protected]
輸入密碼登陸手機,隨後,你就到了蘋果手機裡面了。現在的手機,完全相當於一臺完整的電腦,特別是存儲大點,128G/256G手機也不少見,比一般的電腦都不小,從哪著手呢?這需要先知道ios的存儲結構是什麼樣的,在早幾年其實已經有不少文章對ios存儲結構做了詳細介紹,但是由於越獄的艱難,很多ios底層開發團隊都轉行了,蘋果又在逐次的更新中啟用了全新的”沙盒“機制,現在的結構跟以前已經有了比較大的改變。先介紹幾個常用的路徑:
#系統應用文件夾,比如內置的瀏覽器、電話應用、聯繫等,這個路徑跟macos是完全相同的:
/Applications
#用戶安裝的應用程式,甭管正常的AppStore下載、企業自主分發的應用還是開發版測試應用,都在這個文件夾:
/var/containers/Bundle/Application/
#用戶應用產生的數據:
/var/mobile/Containers/
找微信下載的文件,當然到應用數據的存儲目錄中,所以:
cd /var/mobile/Containers/Data/
find . -size +70M -name "*zip"
這裡說明一下,不要試圖去按照微信中的文件名去尋找,那個只是顯示用的,微信app一定是使用了自己的命名管理規則,我們基本只能確定文件的尾碼應當不會被微信改變,此外作為一個不多見的大文件,指定查找的文件容量是一個好主意,當然還有文件的時間,不過find命令的時間查詢還是有點難用,所以這裡就使用上面一條指令來檢索,很快就得到了結果:
./Application/46ADA490-A400-4966-8480-DF482EC482FF/Documents/0ba80ec6ed9e53b1800ee68d83f12815/OpenData/e8d27f2e74e87b59dcdde38fe8d7f2f2/437.zip
並且只搜索到這一個文件,接下來拷貝出來就好了,比如:
scp ./Application/46ADA490-A400-4966-8480-DF482EC482FF/Documents/0ba80ec6ed9e53b1800ee68d83f12815/OpenData/e8d27f2e74e87b59dcdde38fe8d7f2f2/437.zip [email protected]:~/
這裡192.168.1.103是我桌面電腦的IP地址。區域網的拷貝也是一閃即至,文件轉移到電腦上完成。上面的搜索結果中,還透露出來IOS沙盒機制的很多信息,這裡就不多說了。