Невозможно открыть область на пути, когда устройство заблокировано

Teja Nandamuri спросил: 13 октября 2017 в 06:06 в: ios

В моем приложении я выполняю фоновую синхронизацию контактов, и когда устройство заблокировано, приложение вылетает:

Завершение работы приложения из-за необработанного исключения 'RLMException', причина: '/ var /mobile/Containers/Data/Application/FF77C6DA-970E-4FDD-AB69-C10C20607243/Documents/MyApp/default.realm.lock:Unable, чтобы открыть область по пути '/ var / mobile / Containers / Data / Application / FF77C6DA- 970E-4FDD-AB69-C10C20607243 / Documents / MyApp / default.realm.lock ': open () завершилась неудачно: операция не разрешена.'

Я пробовал:

Создайте новую папку:

NSError *error;
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsDirectory = [paths objectAtIndex:0]; // Get documents folder
NSString *dataPath = [documentsDirectory stringByAppendingPathComponent:@"/MyApp"];if (![[NSFileManager defaultManager] fileExistsAtPath:dataPath])
    [[NSFileManager defaultManager] createDirectoryAtPath:dataPath withIntermediateDirectories:YES attributes:nil error:&error]; //Create folder

, а затем создайте файл .realm в этой папке и установите для параметра Защита файла значение Нет. вместе с NSFilePosixPermissions

[[NSFileManager defaultManager] setAttributes:@{NSFileProtectionKey: NSFileProtectionNone,
                                                    NSFilePosixPermissions : [NSNumber numberWithShort:0777]
                                                    }
                                     ofItemAtPath:[[[RLMRealm defaultRealm]configuration]fileURL].URLByDeletingLastPathComponent.path error:nil];

Тем не менее приложение аварийно завершает работу, когда устройство заблокировано во время синхронизации.

Есть идеи, как это исправить?

0 ответов