Я работаю с приложением PhoneGap, которое использует локальное хранилище Safari (SQlite DB) через Javascript:
https://developer.apple.com/library/archive/documentation/iPhone/Conceptual/SafariJSDatabaseGuide/UsingtheJavascriptDatabase/UsingtheJavascriptDatabase.html
При первой загрузке приложение создает базу данных, таблицы и заполняет данные с помощью ряда операторов INSERT.
Если пользователь закрывает приложение во время этой обработки, тогда моя база данных приложения остается в несогласованном состоянии.
Что я предпочитаю делать, так это развертывать базу данных SQLite как часть упаковки приложения iTunes, чтобы при холодном запуске приложения ничего не заполнялось. Тем не менее, я не уверен, что это возможно - все хиты Google по этой теме, которые я могу найти, относятся к базовым данным, предоставляемым SQLite, который мы не используем ...
Если это невозможно, могу ли я обернуть всю вещь в транзакции и продолжать повторную попытку при перезапуске приложения?
Если это не удастся, я думаю, что смогу создать простую таблицу с одним логическим столбцом "is_app_db_loaded?" и установите его в true после того, как я обработал все мои вставки. Но это действительно брутто ...