#ios #objective-c #react-native #realm-js
#iOS #objective-c #react-native #realm-js
Вопрос:
Итак, я разрабатываю приложение на react-native, которое получает фоновое событие. И когда получено фоновое событие, приложение завершает работу и не сохраняет данные в библиотеке realm, когда телефон заблокирован.
Приложение основано на геолокации, поэтому ему необходимо сохранять информацию, когда телефон заблокирован (когда вы нажимаете кнопку блокировки на iPhone).
Пытался изменить некоторый собственный код objective-c, работал только над сборками DEV (отладочная сборка), но не в рабочей сборке.
Код на машинном коде
RLMRealm *realm = [RLMRealm defaultRealm];
// Get our Realm file's parent directory
NSString *folderPath = realm.configuration.fileURL.URLByDeletingLastPathComponent.path;
// Disable file protection for this directory
[[NSFileManager defaultManager] setAttributes:@{NSFileProtectionKey: NSFileProtectionNone}
ofItemAtPath:folderPath error:nil];
Realm сохраняет данные, когда телефон заблокирован.
Комментарии:
1. Немного больше контекста о вашей проблеме помогло бы лучше понять это, например, что вы имеете в виду, когда говорите, что телефон заблокирован? и каким методом делегирования вы пытаетесь сохранить данные? является ли ваше приложение приложением VOIP?
2. спасибо за помощь
3. Заблокирован == заблокирован?
4. @MatthewLuiHK Да
5. насколько я помню, у realm есть документ, в котором утверждается, что они теряют возможность доступа к файлу, когда телефон заблокирован из-за шифрования диска, пожалуйста, найдите документ. Если это так, вы можете временно сохранить информацию в UserDefault и выполнить действие записи позже