我在Crashlytics上看到了很多崩溃,但是无法重现应用程序启动时发生的崩溃。有谁知道如何重现下面的崩溃。我已经在Github和stackoverflow上尝试了所有答案,但没有人提及重现此特定崩溃的问题。 因此,如果我确实有修复程序,则除了将修复程序投入生产,然后假设Crashlytics不会显示崩溃之外,没有其他方法可以对其进行测试。
请帮助。
错误:
Fatal error: 'try!' expression unexpectedly raised an error: Error Domain=io.realm Code=2 "Unable to open a realm at path '/var/mobile/Containers/Data/Application/03BA7C37-9852-4A01-8EF6-949E308EADCD/Documents/default.realm.lock': open() failed: Operation not permitted." UserInfo={Error Code=2, NSFilePath=/var/mobile/Containers/Data/Application/03BA7C37-9852-4A01-8EF6-949E308EADCD/Documents/default.realm.lock,
通话代码
//passing the fileProtectionType as .none
RealmHelper.configureRealmFiles(with: .none)
示例代码
static func configureRealmFiles(with fileProtectionType: FileProtectionType) {
guard let folderPath = realm.configuration.fileURL?.deletingLastPathComponent().path else {
return
}
do {
try FileManager.default.setAttributes([FileAttributeKey.protectionKey: fileProtectionType],
ofItemAtPath: folderPath)
} catch {
logI("Realm: Couldn't change Realm file protection type")
}
}
答案 0 :(得分:0)
Realm documentation提供了有关如何处理此错误的一些信息。检查他们的降级文件访问属性的说明是否适合您的情况。
答案 1 :(得分:0)
在新位置添加default.realm.lock可以解决问题,并防止崩溃再次出现。但是我从来没有能够复制崩溃。这是因为它可能在后台发生。
答案 2 :(得分:0)
从项目中删除领域pod并重新安装它对我有帮助:)