今回は自分のiphoneの通話履歴データを取得する方法を見ていきます。
同時にiphoneの多様なデータも取得できます。

※注1:あくまで個人の責任においてデータ抽出、利用くださいませ。
 個人情報の扱いに十分注意してください。
※注2:以下ではmacでの抽出方法について記述いたします。
 Windowsでは一部フォルダ場所などが異なるかと思います。


まずiphoneをPCに接続して、iTunesからiphoneのバックアップを行います。

iphone1

このバックアップデータですが、
macですと、下記フォルダ内にデータが保存されております。
~/ライブラリ/Application Support/MObileSync/Backup/

上記フォルダ内に文字列のフォルダが作成されているかと思います。
そのままですと扱いづらいですので、dbファイルに変換いたします。

ここではiPhone Backup Extractorを使用したデコードについて記述いたします。
※この一連の流れは、外部サイト様ですが「iTuneにバックアップしたデータを漁る方法」
 をご参照していただくと丁寧に解説されております。
 本エントリーも上記記事を基に検証したものがベースとなります。

ダウンロード後、起動し、「Read Backups」を押すと、自動でバックアップ場所を探して表示されます。
今回使用したいデバイスを選択し、「Choose」を押してください。

iphone0

iphone2

バックアップ内に含まれるデータ一覧がリストされます。
各アプリケーションの利用履歴などを選択する事も可能です。
※保持されているデータ、書式はアプリケーションごとに異なります。

今回は通話履歴を使用するため、ベーシックな利用履歴が含まれている、
「iPhone iOS Files」を選択し「Extract」を押します。
※写真画像が多い場合などは、30分〜1時間ほど時間がかかる場合もあります。

iphone3

そうすると、「iOS Files」というフォルダが作成され、
その中の「Library」→「CallHistory」→「call_history.db」が
通話履歴データとなります。

上記データtableは、以下が含まれております。(一部)
「ROWID」…データID
「address」…通話した電話番号
「date」…着信時刻(※ただしUNIXタイムであることに注意 (後述))
「duration」…通話時間
「country_code」…日本の場合は440
「face_time_data」…face time利用データ(未使用の場合はnull)

ちなみにこの通話履歴のデータですが、
直近100件のデータのみバックアップされるようです。
もしロングスパンのデータを残したい場合は、
上記手順をある一定期間ごとに別ファイルとして残し、結合することが必要かと思います。
※他にも、iphoneのバックアップデータの粒度や履歴数は、項目によって様々なようです。

dbデータをmacで利用する方法は任意ですが、
Litaを使用すると、table構造やデータが一覧で把握しやすく、
excelファイルへの抽出も可能です。

iphone4

iphone6_2

エクセルファイルに抽出できたら、任意の集計方法でデータマイニングを行いましょう。
ちなみに通話履歴中の「date」が着信時刻なのですが、
UNIXタイム(19070/1/1を基準とした経過秒数での表示)となっているため、
エクセル上で扱う際には以下のように変換しましょう。

※A1にデータが入っている場合
=”1970/1/1″+(A1+9*3600)/86400

iphone7

以上、今回はiphoneの通話履歴を抽出する方法を見てきました。
重ね重ねとなりますが、自分の通話履歴とはいえ、他人の電話番号も含まれるものですから、
くれぐれも使用には注意しましょう。

(参照外部サイト)
「iTuneにバックアップしたデータを漁る方法」
「Excelシリアル値とUNIXシリアル値の変換」