当设备只有很少的磁盘空间时,iOS会删除我的核心数据数据库

当设备只有很少的磁盘空间时,iOS会删除我的核心数据数据库,ios,swift,core-data,Ios,Swift,Core Data,在我的应用程序中,我使用核心数据存储一些实体(而不是文件)。我注意到,如果设备的磁盘空间很小,iOS会从中删除我的db。虽然不是每次都会发生,但我已经抓到好几次了。如何保存数据库?我发现了关于它的讨论 如果我理解正确,我应该使用cfurlsetResourcePropertyWorkey函数,但我不明白如何在代码中应用它。也许有人能给我更清楚的解释 private static var persistentContainer: NSPersistentContainer = {

在我的应用程序中,我使用核心数据存储一些实体(而不是文件)。我注意到,如果设备的磁盘空间很小,iOS会从中删除我的db。虽然不是每次都会发生,但我已经抓到好几次了。如何保存数据库?我发现了关于它的讨论 如果我理解正确,我应该使用cfurlsetResourcePropertyWorkey函数,但我不明白如何在代码中应用它。也许有人能给我更清楚的解释

private static var persistentContainer: NSPersistentContainer = {
        let container = NSPersistentContainer(name: "MyAppName")
        container.loadPersistentStores(completionHandler: { storeDescription, error in
            if let error = error {
                print(error.localizedDescription)
            }
        })
        return container
    }()
    
private static var context: NSManagedObjectContext = {
    persistentContainer.viewContext
}()

private static func createEntity(from product: Product) {
    let productEntity = ProductEntity(context: context)
    ...
}

static func save(_ product: Product?, completion: @escaping (Error?) -> ()) {
        guard let product = product else { return }
        
        createEntity(from: product)
        
        do {
            try context.save()
        } catch {
            context.rollback()
            completion(error)
        }
    }

我看不出链接的讨论在这里有什么关系,这与缓存文件夹或文件备份无关,我以前从未听说过操作系统删除数据库。