我自己建立数据库,在mac上面用模拟器测试的时候可以直接将数据库拷贝到document文件夹下,通过-(NSString *)dataFilePath{ NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES); NSString *documentsDirectory = [paths objectAtIndex:0]; return [documentsDirectory stringByAppendingPathComponent:kFilename]; }方法找到,但是我联机到真机上面测试的时候就找不到了,我在iphone上面测试的时候应该把数据库放在项目文件夹的什么地方啊,因为是客户自己下载的,我希望能项目到iphone上面运行的时候就能连接数据库,因为数据库里面的数据有很多条,所以不能下载和自己创建,就自己放在项目文件夹下怎么能让程序正常使用,很急,希望各位多多照顾! |
|
40分 |
那就先放在包里然后拷贝过去
NSString *localDBPath = [[NSHomeDirectory() stringByAppendingPathComponent:@"Documents"] stringByAppendingPathComponent:@"XX.db"]; if (![[NSFileManager defaultManager] fileExistsAtPath:localDBPath]) { NSString *bundleDBPath = [[NSBundle mainBundle] pathForResource:@"XX" ofType:@"db"]; [[NSFileManager defaultManager] copyItemAtPath:bundleDBPath toPath:localDBPath error:nil]; } |
你这段代码我看不太懂,我放在viewdidload里面执行是木有成功的!应该放在什么地方,有明白的告诉我,我新手,很多不懂,希望尽量说明白一点!
|
|
我的数据库就直接丢在项目文件夹的根目录下,有问题么?
|
|
是一段判断代码
如果在document下没有这个数据库文件 要事先把数据文件加载到资源里!生成程序包的时候就打包到里面了 这段代码在你读取数据库数据之前执行就可以,随便放都可以 |
|
要事先把数据文件加载到资源里!估计你没有??
|
|
我加到资源里面了,我在mac上面复制成功,但是在iphone下面没有复制成功!在iphone上面复制有神马要求么??
|
|
是吗?
沙盒中的Documents 没有什么限制啊 我都是这么用的。 |