Я не вижу здесь никакого вида кода сжатия, только копия файла базы данных. Поэтому я предполагаю, что вы оставили это, чтобы сохранить здесь компактный код.
В любом случае, вы делаете эту операцию, когда приложение переходит в фоновый режим. Вы регистрируете фоновое задание для этого? Если операция сжатия занимает слишком много времени, IOS убивает задачу, я думаю, что это проблема.
Вы можете явно запросить у ОС дополнительное время выполнения в фоновом режиме с помощью UIApplication.shared.beginBackgroundTask
, но это также очень ограниченное по времени количество, обычно 3 минуты.
Но это все копается в темноте, вы должны опубликовать больше кода, чтобы увидеть, как настроена ваша фоновая задача.