iPhone のすべてのメッセージを Excel にエクスポートする#
識別のためのサンプルとして使用するため、いくつかのメッセージを見つける予定です。
最初は、スパムメッセージのサンプルをオンラインで見つけるつもりでしたが、長い間探しても見つからなかったので、自分自身と家族の携帯電話のメッセージを使用することにしました。携帯電話のメッセージは通常削除されないため、数千件のメッセージがあり、スパムメッセージ、販売促進、広告などがすべて揃っています。
したがって、問題は iPhone のメッセージをどのようにエクスポートするかということです。
筆者も長い間調べましたが、ほとんどのサードパーティのソフトウェアは有料であることがわかりました。最終的には無料のエクスポート方法を見つけました。
まず、暗号化されていない状態で iPhone をコンピュータにバックアップします。以下の画像のように、Back up all the data on your iPhone to this Mac
を選択し、Back Up Now
をクリックしてバックアップの完了を待ちます。バックアップが完了したら、Manage Backups
をクリックします。
Manage Backups
をクリックすると、以下のような画面が表示され、バックアップの記録が表示されます。右クリックしてShow In Finder
を選択し、フォルダを開きます。
その後、バックアップが保存されているディレクトリが開かれます。この時点で、3d0d7e5fb2ce288813306e4d4636395e047a3d28
という名前のファイルを見つける必要があります。このファイルは、メッセージのバックアップデータベースファイルです。そして、問題が発生します。どのように見つけるのでしょうか?バックアップディレクトリを一つずつ見ていくのは面倒ですよね。しかし、非常に簡単です。検索を使用します。右上隅の検索をクリックし、このファイル名を入力します。検索範囲は現在のフォルダになるように注意してください。
検索結果は次のようになります。
次に、このファイルを別の場所にコピーします。たとえば、デスクトップにコピーし、データベースソフトウェア(例:SQLPro for SQLLite
)で開きます。以下のように開きます。
その後、このファイルを観察すると、電話番号とメッセージの記録が異なるテーブルに分散していることがわかります。必要なコンテンツを抽出するために SQL を書く必要があります。以下の SQL を参考にしてください:SQL to extract messages from backup。上記の図でQuery
を選択し、以下のコマンドを入力します。
SELECT datetime(message.date, 'unixepoch', '+31 years', '-6 hours') as Timestamp, handle.id, message.text,
case when message.is_from_me then 'From me' else 'To me' end as Sender
FROM message, handle WHERE message.handle_id = handle.ROWID AND message.text NOT NULL;
その後、右上隅の実行をクリックすると、メッセージがすべてフィルタリングされます。
次に、すべての行を選択し、右クリックしてExport result set as
を選択し、CSV
としてエクスポートします。これにより、Excel 形式のファイルがエクスポートされます。
これで必要なメッセージのサンプルを取得できました。