如何在iPhone上访问SQLite数据库实例?
我正在开发使用内置SQLite数据库的iPhone应用程序。我正在尝试通过sqlite3命令行工具查看和打开数据库,以便可以对它执行任意SQL。
当我在模拟器中运行我的应用程序时,它创建的.sqlite文件位于〜/ Library / Application Support / iPhone Simulator / User / Applications /中。
我如何在物理iPhone上看到该文件?
解决方案
与我们在模拟器上进行的操作完全相同。设备和模拟器之间几乎没有(重要)区别,并且文件访问和库加载在大多数情况下不是它们的一部分。
在Xcode中,选择window-> organizer,然后在手机的"应用程序"部分中展开应用程序旁边的节点。选择应用程序数据旁边的黑色向下箭头,然后将文件保存在桌面上的任何位置。sqlite数据库应该在某个地方。
至于一旦完成后如何重新将其恢复到电话中,我一无所知。
问题仍然含糊不清。 "看"在什么意义上?我们是否创建SQLite数据库?如何?我们是否已将其手动放置在Simulator的文件系统区域中?我们是否正在问如何在iPhone上执行此操作?
最简单的方法是使用sqlite3命令行工具预先创建一个空数据库,将其作为应用程序中的资源,然后将其复制到应用程序沙箱的documents文件夹中。我们可以通过NSBundle的pathForResource:ofType:方法获取资源文件夹的路径,然后通过NSUserDomainMask中NSDocumentsDirectory文件夹的NSSearchPathForDirectoriesInDomains()获取文档文件夹的路径,然后通过NSFileManager的方法复制文件。
否则,我们可以使用SQLite的功能通过提供适当的SQL命令来定义其架构,从而从头开始创建新数据库。