Objective c sqlite程序在模拟器上工作,而不是在设备上

Objective c sqlite程序在模拟器上工作,而不是在设备上,objective-c,ios,sqlite,ios-simulator,fmdb,Objective C,Ios,Sqlite,Ios Simulator,Fmdb,我正在用xcode在iOS模拟器上运行一个SQLite搜索程序,它工作得很好,但是,当我在iPhone上运行它时,它会给我一个错误,说“错误打开!”:14“我猜是数据库路径,但我不知道如何修复它。文档路径: NSArray *arrayPathComponent=[NSArray arrayWithObjects:NSHomeDirectory(),@"Documents",@"yourdatabasename.sqlite",nil]; destinationPath=[NSStrin

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

文档路径:

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

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

您的数据库的路径是什么?@VXtreme我在计算机上使用它的路径,因此我不知道设备使用什么路径。数据库需要包含在目标中,以便将其复制到应用程序包。我敢打赌,您正试图从只读路径访问数据库。数据库需要复制/创建到应用程序的文档目录或其他读/写位置。@HotLicks我想知道怎么做,但没关系,我找到了。是的,在许多教程和示例中提供的“NSSearchPathForDirectoriesinDomains”方法在应用到设备时对我来说似乎有问题(对模拟器来说是可以的)。在我的例子中,这种方法适用于设备和模拟器。