首先PS一下:如果IPhone已經越獄了,就不用看下去了,有太多的工具能雲備份加恢復了,這個隨便Google一下就能得到答案的。
所以比較麻煩的地方就在於沒有越獄的IPhone是不對針對短信進行操作的,碰見這個問題的時候,Google一大圈,都沒有太好的方法,后來偶然看到ITools可以備份並還原短信,仔細研究了一下還原過程,覺得有搞頭。
簡單來說,過程如下:
- 安卓手機安裝smsbackup. 備份好短信並復制到電腦上。選擇這個的原因是因為它本身的格式是XML的,便於解析。過程比較簡單,不詳述。
- 將導出的XML文件轉換成ITools能識別的csv格式。所謂的csv格式就是以,為分隔符的一種文本文件。
- 用itools的備份管理功能,先做一個備份。參見官方教程。
- 這個功能里打開備份里的短信,應該是一個 sms.db 的文件。
- 導入csv到短信備份。並保存。
- 恢復備份到iphone。iphone重啟后就可以看到短信了。
XML轉換成ITools能是被的CVS文件是個體力活,最好的建議就是利用一些現成的轉換工具,像A7Soft xml2csv等,但是因為格式的不同意,所以還是有一個自己修改的過程。
擁有動手能力的話,可以自己寫一個轉換工具 下載,轉換后的文件為相同目錄下的result.csv。
但是我的轉換工具只支持smsbackup導出的是這種格式的……
<sms protocol="0" address="12345678" date="1346515020000" type="2" subject="null" body="ggg" toa="null" sc_toa="null" service_center="null" read="1" status="0" locked="0" date_sent="0" readable_date="2012-9-1 下午11:57:00" contact_name="(Unknown)" /> <sms protocol="0" address="12345678" date="1346515260000" type="1" subject="null" body="啊啊啊" toa="null" sc_toa="null" service_center="null" read="1" status="-1" locked="0" date_sent="0" readable_date="2012-9-2 上午12:01:00" contact_name="(Unknown)" /> <sms protocol="0" address="12345678" date="1346515320000" type="1" subject="null" body="幾個人" toa="null" sc_toa="null" service_center="null" read="1" status="-1" locked="0" date_sent="0" readable_date="2012-9-2 上午12:02:00" contact_name="(Unknown)" />
不同版本的smsbackup導出的格式竟然不一樣,兼容性不好,見諒啊,成功導入之后就沒動力搞了……
簡單的描述一些常遇見的問題:
- 備份時失敗,我遇見的原因是因為開啟了鎖屏密碼,關掉即可;
- 還原時失敗,我遇見的原因是因為開啟了FindMyIPhone,暫時關掉即可。