2012-06-24 40 views
0

我在我的应用程序读取iPhone的邮件收件箱中有一个问题,我用这个代码:读iphone的消息在我的应用程序的收件箱

- (IBAction) read{ 

    NSString *text = @""; 

    sqlite3 *database; 
    if(sqlite3_open([@"/var/root/Library/SMS/sms.db" UTF8String], &database) == SQLITE_OK) { 
     sqlite3_stmt *statement; 

     const char *sql4 = "SELECT * from message ORDER BY rowid DESC"; // TODO: different for iOS 4.* ??? 
     const char *sql5 = "SELECT * from message ORDER BY rowid DESC"; 

     NSString *osVersion =[[UIDevice currentDevice] systemVersion];   
     if([osVersion hasPrefix:@"5"]) { 
      // iOS 5.* -> tested 
      sqlite3_prepare_v2(database, sql5, -1, &statement, NULL); 
     } else { 
      // iOS != 5.* -> untested!!! 
      sqlite3_prepare_v2(database, sql4, -1, &statement, NULL); 
     } 

     // Use the while loop if you want more than just the most recent message 
     while (sqlite3_step(statement) == SQLITE_ROW) { 
      if (sqlite3_step(statement) == SQLITE_ROW) { 
       char *content = (char *)sqlite3_column_text(statement, 0); 
       text = [NSString stringWithCString: content encoding: NSUTF8StringEncoding]; 
       sqlite3_finalize(statement); 
      } 
     } 

     sqlite3_close(database); 
    } 

    showsms.text=text; 
    NSLog(@"test"); 
} 

,但我不能访问“SMS.DB”,我已搜查在互联网上,但没有人有这样的问题,任何人有任何关于我的问题的想法写我的代码或告诉我他的方式。

谢谢

回答

4

应用程序沙箱不允许您访问该文件。即使你确实得到它的工作,Apple也不会在商店中允许它。

相关问题