Quantcast
Viewing all articles
Browse latest Browse all 94

iPhone SMS修改教學 Part2 ~ 簡訊合併 &號碼轉移

這系列拖了好幾年終於寫第二篇了。

這次要教的是如何把簡訊(或 iMessage )的對話合併。

 

有時候我們的朋友電話號碼換了,但由於簡訊的「名字」是跟著電話走的,

所以一旦刪除舊的電話號碼,就會造成該對話串變成不會顯示朋友的名字。

或者,因為換了電話,造成簡訊列表同一個人有多個對話串…

這次的教學就是教你如何把這些問題解決。

Image may be NSFW.
Clik here to view.
SMS 整合教學

 

本範例是在 iOS 8.1.x 上面執行的,其他 iOS 版本不保證可以使用。

跟前一個教學一樣,你需要 Firefox + SQLite Manager

 

以下會示範如何把一個 iMessage (電子郵件) 的對話整合到電話號碼中。

首先,用 SQLite Manager 開啟 SMS.db,怎麼抓 SMS.db 應該不用我再教了吧!

接著,在 chat 的 table 下面,找到對應的 GUID ,例如我們這邊是 squirrel_*****(後面隱藏),

這邊的 ROWID,把他記起來,範例中是 145。

Image may be NSFW.
Clik here to view.
SMS 整合教學

如果你要用 SQL 查的話,可以用這個指令:

SELECT * FROM chat WHERE guid LIKE '%關鍵字%'

相同的,再找到目標的電話號碼,我就不附帶圖片了,這邊範例是 102。

所以我們的思路應該是:把所有跟「145」的對話換成「102」,這樣就整合了。

 

接著到 chat_handle_join 裡面,找到 chat_id 為剛剛的 id 的欄位,看 handle_id 為何,

如果 chat_id 不等於 handle_id 的話,你要記住 handle_id 的值,

範例中因為剛好一樣,所以不必另外記。

Image may be NSFW.
Clik here to view.
SMS 整合教學

但如果不一樣的話,最壞情況是你要記住四個值:

  • 來源的 chat_id
  • 來源的 handle_id
  • 目標的 chat_id
  • 目標的 handle_id

接著按 SQLite Manager 的「Execute SQL」,

在 EnterSQL 欄位輸入:

UPDATE message SET handle_id = REPLACE (handle_id, '來源handleID', '目標handleID') WHERE handle_id = 來源handleID

在本範例中,是

UPDATE message SET handle_id = REPLACE (handle_id, '145', '102') WHERE handle_id = 145

按「Run SQL」,如果沒出現錯誤即可。

 

之後再輸入

UPDATE chat_message_join SET chat_id = REPLACE (chat_id, '來源chatID', '目標chatID') WHERE chat_id = 來源chatID

在本範例中是

UPDATE chat_message_join SET chat_id = REPLACE (chat_id, '145', '102') WHERE chat_id = 145

一樣,Run SQL。

 

最後,關閉 SQLite Manager,確定該資料夾內「沒有」 sms.db-shm 跟 sms.db-wal 兩個檔案,

再完全關閉 iPhone 上的簡訊 App(多工列關閉)

然後再把 sms.db 再丟回去 iPhone 內,刪除 iPhone 的 sms.db-shm 跟 sms.db-wal,

之後修改 sms.db 權限,重新開機就好了。(一旦要重新開機,不可單純 respring)

丟回去的詳細教學可以參考這篇

 

重開機之後,你可以看之前其他的對話內容是否被清空了,如果被清空代表成功整合了

如果你有 iMazing 這個 Mac App 的話,可以讀取簡訊內容,看是否整合成功

(或者你要在手機裡面慢慢往上滾動也可以啦,只是要很久)

Image may be NSFW.
Clik here to view.
SMS 整合教學


Viewing all articles
Browse latest Browse all 94

Trending Articles