如何在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文件保存在适当的模拟器文件夹中,但是您正确的是找不到它。
回答你的问题:
-
有一个很酷的工具SimPholders ,可以让你在iOS模拟器中检查应用程序的Documents文件夹。 这是获取模拟器生成速度非常快的Realm文件的最佳方式。
-
创build
Realm
对象的实例时,可以提供一个Configuration
对象来定制它。 您可以通过设置该Configuration
对象的path
属性来显式设置Realm文件的文件path。 -
iOS在磁盘上提供了一个自动的文件encryption层,当设备被locking时,文件无法被读取。 如果需要额外的安全性,则可以将Realm
Configuration
对象的encryptionKey
属性Configuration
为让Realm自己encryption该磁盘上的Realm文件。
我希望有帮助! 让我知道如果你需要更多的澄清!
1)和2)对安全性和数据完整性的影响确实很小3)如果您担心数据的安全性,请使用像这里的 Realm级别的encryption