diff --git a/swift-sdk/Internal/IterableCoreDataPersistence.swift b/swift-sdk/Internal/IterableCoreDataPersistence.swift index 1770fa36a..9ab99c0cc 100644 --- a/swift-sdk/Internal/IterableCoreDataPersistence.swift +++ b/swift-sdk/Internal/IterableCoreDataPersistence.swift @@ -160,7 +160,13 @@ struct CoreDataPersistenceContext: IterablePersistenceContext { func deleteAllTasks() throws { let taskManagedObjects: [IterableTaskManagedObject] = try CoreDataUtil.findAll(context: managedObjectContext, entity: PersistenceConst.Entity.Task.name) - taskManagedObjects.forEach { managedObjectContext.delete($0) } + taskManagedObjects.forEach { + if !$0.isDeleted { + managedObjectContext.delete($0) + } else { + ITBDebug("task already deleted") + } + } } func countTasks() throws -> Int { diff --git a/swift-sdk/Internal/IterableTaskScheduler.swift b/swift-sdk/Internal/IterableTaskScheduler.swift index 1ce67aee2..f35243548 100644 --- a/swift-sdk/Internal/IterableTaskScheduler.swift +++ b/swift-sdk/Internal/IterableTaskScheduler.swift @@ -54,7 +54,7 @@ class IterableTaskScheduler { do { try persistenceContext.deleteAllTasks() try persistenceContext.save() - } catch let error { + } catch { ITBError("deleteAllTasks: \(error.localizedDescription)") self?.healthMonitor.onDeleteAllTasksError() }