Использование области, когда приложение получает фоновое событие, а iPhone заблокирован

#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 и выполнить действие записи позже