我在配置中将readOnly
设置为true
的领域有一点问题。我正在使用Swift,但我正在使用正常Realm.framework
...也许这会导致错误,但我不这么认为。 (我正在使用它,因为我不想重构我的整个代码......)
以下是我所谈论的一个例子。
我试过了:
if let path = NSBundle.mainBundle().pathForResource("database", ofType: "realm")
{
//Alternative: or move the file from the app bundle into a writable location
var config = RLMRealmConfiguration()
config.path = path
config.readOnly = true
do {
try self.realm = RLMRealm(configuration:config)
} catch {
print("ERROR")
}
我也试过这个:
if let path = NSBundle.mainBundle().pathForResource("database", ofType: "realm")
{
//Alternative: or move the file from the app bundle into a writable location
var config = RLMRealmConfiguration()
config.path = path
config.readOnly = true
RLMRealmConfiguration.setDefaultConfiguration(config)
do {
try self.realm = RLMRealm(configuration: RLMRealmConfiguration.defaultConfiguration())
} catch {
print("ERROR")
}
每次都失败了。 (打印:“错误”)我发现问题是readOnly设置为true。通过将readOnly
设置为false,我得到了两个片段。
你知道如何解决这个问题吗?
我打印了错误,它是:
错误Domain = io.realm Code = 2“无法在路径中打开领域 '/Users/UserName/Library/Developer/CoreSimulator/Devices/NR/data/Containers/Bundle/Application/NR/AppName.app/database.realm'” 的UserInfo = {NSFilePath = /用户/用户名/库/开发商/ CoreSimulator /设备/ NR /数据/容器/捆绑/应用/ NR / AppName.app / database.realm, NSLocalizedDescription =无法在路径上打开领域 '/Users/UserName/Library/Developer/CoreSimulator/Devices/NR/data/Containers/Bundle/Application/NR/AppName.app/database.realm', 错误代码= 2}