尝试使用realm作为我在我的应用程序中使用的db存储库来执行测试用例。在iOS设备上保存和执行操作正在按预期工作。但是我试图在模拟器中运行单元测试用例,测试用例失败并出现以下错误,
frameworkname.realm::find failed with error:Unable to open a realm at path '/Users/username/Library/Developer/CoreSimulator/Devices/D4700477-****-****-****-065C******7F2/data/Documents/frameworkname/frameworkname.realm.management': make_dir() failed: No such file or directory.
我尝试将Devices目录的读写权限设置为所有人,但仍然会引发相同的错误。
答案 0 :(得分:0)
make_dir() failed
表示您试图在不可写目录中打开Realm文件。
将文件复制到可写URL可能会解决以下问题:
let paths = FileManager.default.urls(for: .documentDirectory, in: .userDomainMask)
let documentsDirectory = paths[0]
let realmURL = documentsDirectory.appendingPathComponent("data.realm")
try! FileManager.default.copyItem(at: Realm.Configuration.defaultConfiguration.fileURL, to: realmURL)
config.fileURL = realmURL
Realm.Configuration.defaultConfiguration = config
let realm = try! Realm()]