【问题标题】:sqlite program works on simulator, not on devicesqlite 程序在模拟器上运行,而不是在设备上运行
【发布时间】:2012-07-30 01:55:42
【问题描述】:

我在 xcode 的 iOS 模拟器上运行 SQLite 搜索程序,它运行良好,但是,当我在我的 iPhone 上运行它时,它给我一个错误,说“错误打开!:14”我猜它是数据库路径,但我不知道如何修复它。

【问题讨论】:

  • 你的数据库的路径是什么?
  • @VXtreme 我在我的电脑上使用它的路径,所以我不知道该设备使用什么路径
  • 需要将数据库包含在目标中,以便将其复制到应用程序包中
  • 我敢打赌,您正试图从只读路径访问您的数据库。需要将数据库复制/创建到应用程序的文档目录或其他读/写位置。
  • @HotLicks 我想知道该怎么做,但没关系,我想通了。

标签: objective-c ios sqlite ios-simulator fmdb


【解决方案1】:

文件路径:

    NSArray *arrayPathComponent=[NSArray arrayWithObjects:NSHomeDirectory(),@"Documents",@"yourdatabasename.sqlite",nil];
destinationPath=[NSString pathWithComponents:arrayPathComponent];

使用此目标路径进行数据库操作。但是在此路径上创建您的数据库。这也适用于您的设备。

【讨论】:

  • 是的,许多教程和示例中提供的“NSSearchPathForDirectoriesinDomains”方法在应用于设备时似乎对我不利(适用于模拟器)。在我的情况下,此方法适用于设备和模拟器。
猜你喜欢
  • 1970-01-01
  • 2012-01-01
  • 1970-01-01
  • 2020-02-17
  • 2014-12-24
  • 2015-06-20
  • 2014-05-12
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多