【问题标题】:Deploying iPhone App with SQLite3使用 SQLite3 部署 iPhone 应用程序
【发布时间】:2011-07-02 12:58:55
【问题描述】:

我有一个包含 SQLite3 数据库(2-3 个表)的 iPhone 应用程序。当我在模拟器上构建它时,它工作正常,但在 iPhone 设备上部署它时,它会弹出一条消息 - “数据库错误 - 无法打开数据库。Hrm” 在 Consol 中显示:

警告:无法读取 /Developer/Platforms/iPhoneOS.platform/DeviceSupport/4.2.1 (8C148)/Symbols/usr/lib/info/dns.so 的符号(找不到文件)。

需要帮助(因为我是 iPhone 应用程序和 SQLite3 的新手) 代码:

int result;
result=sqlite3_open("/Users/saggezza/Desktop/TimeTrackerApp/login.db",&database);

-(IBAction)button_login {

sqlite3_exec(database, "CREATE TABLE IF NOT EXISTS login(ID INTEGER PRIMARY KEY AUTOINCREMENT, Username varchar,Password varchar,Name Text)",
             NULL, NULL, NULL);





int ret = sqlite3_step(statement);
sqlite3_reset(statement);
if (ret == SQLITE_DONE) 
{
    sqlite3_finalize(statement);
    sqlite3_close(database);

}


const char *sqlStatement1= "select * from login";
sqlite3_prepare_v2(database, sqlStatement1, -1, &statement,nil);

while (sqlite3_step(statement)==SQLITE_ROW)
{

    NSString *uname=[[NSString alloc]initWithUTF8String:(char *)sqlite3_column_text(statement, 1)];
    NSString *pwd=[[NSString alloc]initWithUTF8String:(char *)sqlite3_column_text(statement, 2)]; 

    ename =[[NSString alloc]initWithUTF8String:(char *)sqlite3_column_text(statement, 3)]; 



    if ([(textField1.text) isEqualToString:uname] && [(textField2.text) isEqualToString:pwd])
    {



        TimeTrackerAppAppDelegate *timeTracker=(TimeTrackerAppAppDelegate *)[[ UIApplication sharedApplication] delegate];

         Mainpage *sView = [[Mainpage alloc] initWithNibName:@"Mainpage" bundle:nil ];
         timeTracker.name=ename;

         [self.navigationController pushViewController:sView animated:YES];
        // [self presentModalViewController:sView animated:YES];

        return;
    }


}

谢谢!

【问题讨论】:

  • “login.db”是否存储在您的本地计算机上?您必须在捆绑包中提供 db 文件,然后将其复制到文档目录,如 [此处] (techotopia.com/index.php/…) 所述
  • 我的应用文件夹中也有 db 文件,也提供给资源。仍然没有得到。它在我的模拟器上运行,但在设备上显示错误。 :(

标签: iphone ipad ios deployment sqlite


【解决方案1】:

由于您尚未发布任何代码,因此您的具体问题有点难以回答。但是您可能会发现这个tutorial 很有帮助。它在设备上也适用于我。

【讨论】:

  • 感谢 Sailesh 的快速回复,我已经更新了这个问题。请看一看。
猜你喜欢
  • 2012-09-21
  • 1970-01-01
  • 1970-01-01
  • 2011-12-27
  • 1970-01-01
  • 2011-07-02
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多