ios – 如何将预先存在的sqlite文件放入 Library ?

ios – 如何将预先存在的sqlite文件放入 Library ?,第1张

概述我的应用使用核心数据.我已经在模拟器中运行了应用程序,该模拟器已成功创建并填充了相应的sqlite文件.我现在想要将这个预先存在的sqlite文件放到一个实际的设备上,并成为我的应用程序的一部分.我已将模拟器生成的sqlite文件放在/ Library / Application Support / iPhone Simulator / 6.0 / Applications / identifie 我的应用使用核心数据.我已经在模拟器中运行了应用程序,该模拟器已成功创建并填充了相应的sqlite文件.我现在想要将这个预先存在的sqlite文件放到一个实际的设备上,并成为我的应用程序的一部分.我已将模拟器生成的sqlite文件放在/ library / Application Support / iPhone Simulator / 6.0 / Applications / IDentifIEr / documents / myapp.sqlite中并将其拖入 Xcode.这已经将它添加到我的应用程序包中,但没有添加到适当的目录中(结果是可以读取sqlite文件但不能写入).

从阅读有关文件系统的内容来看,我认为放置sqlite文件的最佳位置是在Application_Home / library /下的自定义目录“Database”中.我似乎无法在Xcode中执行此 *** 作,尽管搜索我无法弄清楚如何执行以下 *** 作:

(1)在Application_Home / library /中创建一个名为“Database”的子目录.
(2)将sqlite文件传输到我新创建的“Database”目录?

非常感谢@ Daij-Djan的回答.

另一个问题:持久性存储协调器将使用sqlite文件的路径.现在,根据sqlite文件的大小,复制或移动可能需要一段时间.在持久性存储协调器尝试引用sqlite文件之前,如何确保@ Daij-Djan提供的示例代码已执行并完成?

在此先感谢您的帮助.

解决方法 模拟代码

在appDIDFinishLaunching ..也许

dbpath = PATH_YOU_WANTif(!file.exists_at:dbpath) {    copy(dbinbundle,dbpath);}

在objC:
(内联写入,错别字错误的机会)

- (BOol)application:(UIApplication *)application dIDFinishLaunchingWithOptions:(NSDictionary*)launchOptions{    Nsstring *lib = [NSSearchPathForDirectorIEsInDomains(NSlibraryDirectory,NSUserDomainMask,YES) objectAtIndex:0];    Nsstring *dbs = [lib stringByAppendingPathComponent:@"Database"];    Nsstring *file = [dbs stringByAppendingPathComponent:@"db.sqlite"];    if(![[NSfileManager defaultManager] fileExistsAtPath:file]) {        ID dbInBundle = [[NSBundle mainBundle] pathForResource:@"db" ofType:@"sqlite"];        [[NSfileManager defaultManager] createDirectoryAtPath:dbs withIntermediateDirectorIEs:YES attributes:nil error:nil];        [[NSfileManager defaultManager] copyItemAtPath:dbInBundle topath:file error:nil];    }    ....}
总结

以上是内存溢出为你收集整理的ios – 如何将预先存在的sqlite文件放入/ Library /?全部内容,希望文章能够帮你解决ios – 如何将预先存在的sqlite文件放入/ Library /?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1052515.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-25
下一篇 2022-05-25

发表评论

登录后才能评论

评论列表(0条)

保存