iPhoneバックアップSQLiteおよびPlistファイルからデータをクエリする方法

更新しました
Cover image for: iPhoneバックアップSQLiteおよびPlistファイルからデータをクエリする方法

一部のユーザーは、エキスパートモードを使用してバックアップに保存されている生ファイルを直接操作したいと思うかもしれません。これらは多くの場合、SQLiteデータベース( .sqlite3.sqllitedb 、および.db )またはPlist(通常は.plist )ファイルで構成されています。

iPhone Backup ExtractorにはPlistエディタが内蔵されており、ユーザーは自分のデータをPDF、HTML、VCard、ICAL、VCF、またはCSV形式に自動的にエクスポートして簡単にアクセスできます。しかし、これらのファイルからデータを抽出したいユーザーはSQLiteデータベースクライアントが必要です。

SQLiteデータベースを使用する方法は?

ユーザーは、次の3つのアプリケーションのいずれかを試してみることをお勧めします。

  • SQLiteFlow (有料、macOS&iOS)。 SQLiteFlowは、当社のmacOS SQLiteツールです。
  • ベース2 (有料、macOS)。 Baseは、macOS用の2番目に人気のあるSQLiteツールの1つであり、直接ダウンロードしてApp Storeアプリとして入手できます。
  • SQLite用DBブラウザー (無料、macOSおよびWindows)。 DBブラウザーは、以前はSQLiteデータベースブラウザーと呼ばれていました。これはWindowsに推奨されるツールであり、無料です。また、macOSのバージョンも提供します。

Appleのデータベースファイルを直接操作するにはどうすればよいですか?

例として、連絡先データに手動でアクセスするには、ユーザーはLibray/AddressBook/AddressBook.sqllitedb抽出し、次に抽出されたファイルをSQLiteビューアで開く必要があります。 [Execute SQL]タブを選択し、[SQL string]フィールドに貼り付けます。

SELECT ABPerson.first, ABPerson.last, ABMultiValue.value
FROM ABPerson, ABMultiValue
WHERE ABMultiValue.record_id = ABPerson.ROWID

[ Execute QueryExecute Query ]ボタンを押すと、[返されたデータ]フィールドに表示されている完全な連絡先リストが返されます。

SMSデータにアクセスするには、ユーザーはLibray/SMS/SMS.db抽出し、抽出したファイルをSQLiteビューアで開き、[ Browse dataBrowse data ]タブを選択して、[ Tableドロップダウンからmessageを選択する必要がありmessage 。虫眼鏡ボタンをクリックすると、ユーザーは[返されたデータ]フィールドにSMSの完全な履歴が表示されます。

ユーザーの1人が以下のクエリを参考にしたので、ユーザーのためにここに含めています。データベースの形式はiOSのバージョンによって異なるため、これらのクエリは時間の経過とともに変わる必要があることに注意してください。

SELECT ROWID,
  ABPerson.first,
  ABPerson.last,
  ABPerson.Organization AS organization,
  ABPerson.Department AS department,
  DATETIME(ABPerson.Birthday + STRFTIME('%s', '2001-01-01 00:00:00'), 'unixepoch', 'localtime') AS Birthday,
  ABPerson.JobTitle as jobtitle,
  ABPerson.Organization,
  ABPerson.Department,
  ABPerson.Note,
  ABPerson.Nickname,
  DATETIME(ABPerson.CreationDate + STRFTIME('%s', '2001-01-01 00:00:00'), 'unixepoch', 'localtime') AS Created,
  DATETIME(ABPerson.ModificationDate + STRFTIME('%s', '2001-01-01 00:00:00'), 'unixepoch', 'localtime') AS Modified,
  ( SELECT value FROM ABMultiValue
    WHERE property = 3 AND record_id = ABPerson.ROWID AND label = (
      SELECT ROWID FROM ABMultiValueLabel
      WHERE value = '_$!<Work>!$_'
    )
  ) AS phone_work,
  ( SELECT value FROM ABMultiValue
    WHERE property = 3 AND record_id = ABPerson.ROWID AND label = (
      SELECT ROWID FROM ABMultiValueLabel
      WHERE value = '_$!<Mobile>!$_'
    )
  ) AS phone_mobile,
  ( SELECT value FROM ABMultiValue
    WHERE property = 3 AND record_id = ABPerson.ROWID AND label = (
      SELECT ROWID FROM ABMultiValueLabel
      WHERE value = '_$!<Home>!$_'
    )
  ) AS phone_home,
  ( SELECT value FROM ABMultiValue
    WHERE property = 4 AND record_id = ABPerson.ROWID AND label IS null
  ) AS email,
  ( SELECT value FROM ABMultiValueEntry
    WHERE parent_id IN (
      SELECT ROWID FROM ABMultiValue WHERE record_id = ABPerson.ROWID
    ) AND key = (
      SELECT ROWID FROM ABMultiValueEntryKey WHERE lower(value) = 'street'
    )
  ) AS address,
  ( SELECT value FROM ABMultiValueEntry
    WHERE parent_id IN (
      SELECT ROWID FROM ABMultiValue WHERE record_id = ABPerson.ROWID
    ) AND key = (
      SELECT ROWID FROM ABMultiValueEntryKey WHERE lower(value) = 'city'
    )
  ) AS city
FROM ABPerson
ORDER BY ABPerson.first

私たちはここでさまざまなアプリのため重要なファイルのリストを管理しています。

日付と時刻のフィールドは数値として返されるだけですが、それらをどのように解釈できますか

データベース内のいくつかのフィールドを解釈するのに苦労するかもしれません。忘れないでください、iPhone Backup Extractorは自動的にデータを抽出します。ただし、単独で使用する場合は、日付フィールドの位置に応じて、日付が2001-01-01からの秒数または1970-01-01からの秒数で表されることに気付くはずです。 Excelでは、 =1/1/2001 + A1/60/60/24ような式を使用できます。ここで、 A1はあなたの時間データです。現地のタイムゾーンを考慮して値を調整する必要があるかもしれません。

どのように我々は助けることができます?

サポートチームがお手伝いします!

営業時間は月曜日から金曜日の午前9時から午後5時(GMT)です。 時間は現在 8:03 AM GMTです。

1営業日以内に、お返事を差し上げます。メールアドレスはこちら。

私たちの素晴らしいサポートチーム

コメント (1)

You can use this to format the messages (SMS) date field:

datetime(date/1000000000 + 978307200,'unixepoch','localtime') as date

この記事を改善できますか?

ユーザーからの連絡をお待ちしています。電子メールを送信したり、コメントを残したり、ツイートしたりしないでください。 @reincubate?

© 2008 - 2024 Reincubate Ltd. 無断複写・転載を禁じます。 イングランドとウェールズに登録 #5189175, VAT GB151788978. Reincubate®およびCamo®は登録商標です。 個人情報保護方針 & 条項.