我正在尝试将realm文件与我的应用捆绑在一起。我按照步骤1-5,但我不清楚第6步。它说将文件复制回文档文件夹,特别是如果它将由用户编辑。
假设,复制语句进入AppDelegate(类似于示例迁移代码中的方式),文件被复制,下次应用程序启动时会发生什么?它会再次复制文件,并覆盖它吗?我错过了什么吗?
我是否需要在发送应用程序之前运行一次,然后从应用程序代理中删除代码?
编辑:这个问题是关于realm-swift
答案 0 :(得分:3)
如果您将Realm文件与您的应用程序捆绑在一起,它将存储在Resources目录中不可写入的应用程序包中(因为代码签名)。因此,如果您希望用户能够更改此数据,则必须将此文件复制到具有写访问权限的某个目录。 Application的Documents目录似乎是一个不错的选择,它也是默认make
的默认目录。
如果它是您的应用的初始数据,并且您不想在每次启动应用时覆盖它,您只需检查目标文件是否存在,而不是在这种情况下复制您的初始数据库。
你可以这样做:
make all
答案 1 :(得分:0)
添加上述答案。看起来当前检查realm文件的正确版本是:defaultURL.checkResourceIsReachable()