2012-03-16 6 views
5

में सिम संपर्क पढ़ना मैं एक ऐसे एप्लिकेशन पर काम कर रहा हूं जिसे सिम से संपर्क पढ़ने की जरूरत है। मुझे पता है कि आधिकारिक ऐप्पल एसडीके का उपयोग करना संभव नहीं है। मैं जेलब्रोकन आईफ़ोन के लिए इस ऐप को विकसित कर रहा हूं।जेलब्रोकन आईफोन

मैंने बहुत कुछ खोजा है लेकिन मुझे प्राप्त एकमात्र उत्तर संभव नहीं है।

पथ की ओर कोई मदद वास्तव में सराहना की जाएगी।

+0

मुझे लगता है कि आप सवाल में शब्द "भागने" नहीं देखा था .. –

+0

अब यह दिखाई देना चाहिए :) आशा है कि आप कुछ जवाब मिल जाएगा। –

+0

स्मार्ट काम @rokjarc .. धन्यवाद :) –

उत्तर

1
NSString *addressbookDatabasePath = @"/private/var/wireless/Library/AddressBook/addressbook.db"; 
addressbookFileExist = [fileManager fileExistsAtPath:addressbookDatabasePath]; 
[fileManager release]; 
NSMutableArray *addressbook = [[NSMutableArray alloc] init]; 

if(addressbookFileExist) { 
if ([fileManager isReadableFileAtPath:addressbookDatabasePath]) { 
    sqlite3 *database; 
    if(sqlite3_open([addressbookDatabasePath 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; 

      while(sqlite3_step(compiledStatement) == SQLITE_ROW) { 
       // Read the data from the result row 
       NSMutableDictionary *addressbookItem = [[NSMutableDictionary alloc] init]; 
       int numberOfColumns = sqlite3_column_count(compiledStatement); 
       NSString *data; 
       NSString *columnName; 

       for (int i = 0; i < numberOfColumns; i++) { 
        columnName = [[NSString alloc] initWithUTF8String: 
           (char *)sqlite3_column_name(compiledStatement, i)]; 
        data = [[NSString alloc] initWithUTF8String: 
          (char *)sqlite3_column_text(compiledStatement, i)]; 

        [addressbookItem setObject:data forKey:columnName]; 

        [columnName release]; 
        [data release]; 
       } 
       [callHistory addObject:callHistoryItem]; 
       [callHistoryItem release]; 
       count++; 
      } 
     } 
     else { 
      NSLog(@"Failed to retrieve table"); 
      NSLog(@"Error Code: %d", errorCode); 
     } 
     sqlite3_finalize(compiledStatement); 
    } 
} 
} 
+1

यह काम करता है? फ़ोल्डर/निजी/var/वायरलेस कभी नहीं देखा। – fbernardo

संबंधित मुद्दे