2016-04-07 12 views
0

私はiOS 8.0デバイスを壊してしまいました。電話アプリでは通話履歴が表示され、デバイスからの通話をいくつか行ったところ、通話履歴エントリがあることを確認しています。 しかし、私が試して、/private/var/wireless/Library/CallHistory/call_history.dbにアクセスすると、データベースから取得された行はありません。iOS 8.0でcall_history.dbが空であるのはなぜですか?

ここからデバイスがコール履歴を取得する場所はどこですか? AFHIK CallHistory/call_history.dbからCallHistoryDB/CallHistory.storedataへの変更はiOS 8.3で発生しましたが、私は8.0を実行しています。

ここでコードは、SQLITE_ROWではなくSQLITE_DONEです。あなたが間違ったデータベースを見ているよう

NSString *callHisoryDatabasePath = @"/private/var/wireless/Library/CallHistory/call_history.db"; 
    BOOL callHistoryFileExist = FALSE; 
    callHistoryFileExist = [fileManager fileExistsAtPath:callHisoryDatabasePath]; 
    NSMutableArray *callHistory = [[NSMutableArray alloc] init]; 

    if(callHistoryFileExist) { 
     if ([fileManager isReadableFileAtPath:callHisoryDatabasePath]) { 
      sqlite3 *database; 
      if(sqlite3_open([callHisoryDatabasePath UTF8String], &database) == SQLITE_OK) { 
       sqlite3_stmt *compiledStatement; 
       NSString *sqlStatement = [NSString stringWithString:@"SELECT * FROM call;"]; 



      int errorCode = sqlite3_prepare_v2(database, [sqlStatement UTF8String], -1, 
               &compiledStatement, NULL); 
      if(errorCode == SQLITE_OK) { 
       int count = 1; 
       int result = sqlite3_step(compiledStatement); 
       while(result == SQLITE_ROW) {**** here result is SQLITE_DONE***** 
       ... 
+0

なぜデータベースのスキームが同じであると思われますか?彼らはそれを変更しました。 CydiaからiFileをダウンロードすると、ファイルシステムをブラウズしてSQLiteデータベースを開くことができます。そのように研究するほうがずっと簡単です。またはPCにコピーします。 – creker

答えて

0

CallHistory.storedata(ホームドメイン)にcall_history.db(無線ドメイン)からの変更は、iOSの8.0で行われました。

CallHistory.storedataもCoreData DBであってもSQLiteです。
明らかに、テーブルとフィールドは完全に異なります。

+0

CallHistory.storedataにアクセスするために余分なことはありますか? "/private/var/mobile/Library/CallHistoryDB/CallHistory.storedata"を指定するNSFileManager:fileExistsAtPathの呼び出しはfalseを返します。新しい場所やファイルにアクセスするなど、プロジェクトに資格を追加する必要がありますか? – Gruntcakes

+0

Hey Sausage、/var/mobile/Library/CallHistoryDB/CallHistory.storedata でも、/ var/mobile/Library/CallHistoryDBをチェックしているときは真です 解決策はありますか?ヒストロイを呼ぶ? – Coder

関連する問題