如何在iOS项目中正确configurationRealm DB文件(<db_name> .realm)的path?

对不起我的英语不好。

我开发了一个需要自己的本地数据存储的移动应用程序。 我select了Realm作为数据库pipe理系统。 在研究Realm文档的过程中,我对数据库devise没有任何问题,它是规范化,CRUD操作以及与代码直接相关的所有事情。

我感到困惑。 我在模拟器中testing我的应用程序。 我没有创build本地数据库。 我刚刚做了它,因为它是在Realm的文档中写的。 领域创build自己的数据库,我没有指定任何设置。 我的文件与数据库的位置如下:
/Users/macbookpro/Library/Developer/CoreSimulator/Devices//EFECD945-285C-494F-8C1B-950D9AA05147/data/Containers/Data/Application/8D71FF0A-60D2-4875-96BB-36955E80D505/Documents/default.realm。

我很不方便地应用这个path来分析数据库中的logging。 该文件存储在这个path是无法访问的Realm浏览器,因为我需要root权限。 我已经看到人们将他们的.realm文件存储在项目目录中。 请回答我 – 我该怎么办? 这是否是正确的select?

我已经多次看到数据库文件path出现的代码。 例如,在这里: https : //github.com/pietbrauer/CarthageRealmUploadFailureExample/blob/master/Carthage.checkout/realm-cocoa/examples/ios/swift/Migration/AppDelegate.swift我不知道如果这是正确的方向。

因此,我想:

1)手边有一个数据库文件,并能够快速引用它;

2)知道algorithm – 如何设置自己的path到Realm数据库文件;

3)了解真实设备上的域configuration,以确保安全性和数据完整性。

非常感谢大家!

如果不在应用程序中为默认Realm指定path,Realm将自动在应用程序的Documents目录中创build一个名为default.realm 。 在iOS模拟器上运行的应用程序中,这会将Realm文件保存在适当的模拟器文件夹中,但是您正确的是找不到它。

回答你的问题:

  1. 有一个很酷的工具SimPholders ,可以让你在iOS模拟器中检查应用程序的Documents文件夹。 这是获取模拟器生成速度非常快的Realm文件的最佳方式。

  2. 创buildRealm对象的实例时,可以提供一个Configuration对象来定制它。 您可以通过设置该Configuration对象的path属性来显式设置Realm文件的文件path。

  3. iOS在磁盘上提供了一个自动的文件encryption层,当设备被locking时,文件无法被读取。 如果需要额外的安全性,则可以将Realm Configuration对象的encryptionKey属性Configuration为让Realm自己encryption该磁盘上的Realm文件。

我希望有帮助! 让我知道如果你需要更多的澄清!

1)和2)对安全性和数据完整性的影响确实很小3)如果您担心数据的安全性,请使用像这里的 Realm级别的encryption