iOS - sqlite3 - случайные ошибки только для чтения - PullRequest
2 голосов
/ 21 мая 2019

У нас есть корпоративное приложение, работающее с несколькими клиентами, и эта проблема возникает только с одним клиентом, и мы не можем воспроизвести локально.

Наша аварийная система показывает случайные ошибки только для чтения - попытка написатьтолько для чтения базы данных.Это происходит только для некоторых пользователей.

Приложение использует FMDB в качестве оболочки SQL (версия 2.5).В БД уже есть данные до ошибки.После ошибки в БД есть записи, поэтому она как-то перестала быть доступной только для чтения или ошибка только для чтения.

Возможно ли для sqlite3 db выдавать ошибки только для чтения, когда она не доступна только для чтения?

Я попытался проверить, была ли это проблема с многопоточностью, открыв второй экземпляр БД и породив 2 зацикленных потока, один сделал выбор из таблицы, а другой - вставку.Я получил сообщение об ошибке «Ошибка блокировки базы данных, а не ошибка только для чтения».

Может ли из-за проблем с многопоточностью вызывать ошибки только для чтения?

Приложение установлено на устройствах с помощью SOTI MDM.Это единственный клиент с SOTI, поэтому может ли SOTI вызывать такие проблемы?

Будет ли резервное копирование системы или резервное копирование в облачном хранилище задавать файлы только для чтения во время выполнения резервного копирования и, следовательно, для БД временно только для чтения?Я достигаю здесь, но у меня нет идей.

У кого-нибудь есть идеи, что может вызвать это?

...