CommonCrypto в iOS [sqlite шифрование файлов]

Я использую Core Data API в своем приложении для iOS. Также я использую библиотеку commoncrypto (CCCrypt()) для шифрования / дешифрования файла базы данных (файл.sqlite), который находится в папке документов при изменении состояния приложения (Background/Foreground).

Проблема, с которой я сталкиваюсь, заключается в том, что... некоторые записи в базе данных теряются, когда пользователь вручную удаляет приложение из фонового состояния, и эта проблема противоречива.

Я просто конвертирую содержимое файла sqlite в NSData и использую его как вход для функции CCCrypt () для шифрования / дешифрования, и я не декодирую входные данные в операции crypt.

Может кто-нибудь, пожалуйста, помогите мне..... в чем может быть причина потери данных? это также только тогда, когда приложение убивается вручную из фонового состояния..... Для операции шифрования и дешифрования функция CCCrypt возвращает статус kCCSuccess...

Нужно ли было использовать какой-либо вид декодирования входных данных (необработанных байтов) перед операцией CCCrypt?

1 ответ

Возможно, вам следует использовать методы жизненного цикла, чтобы сохранить ваши данные до того, как они будут уничтожены. Попробуйте сохранить данные в applicationWillTerminate. Пройдите эту дискуссию для получения более подробной информации о [введите описание ссылки здесь] [1]

[1]: applicationWillTerminate, когда он вызывается, а когда нет, "Сохранить данные, прежде чем их убьют"

Другие вопросы по тегам