diff --git a/Sources/Segment/Plugins/Platforms/iOS/iOSLifecycleMonitor.swift b/Sources/Segment/Plugins/Platforms/iOS/iOSLifecycleMonitor.swift index fd48bc35..c8f95ea5 100644 --- a/Sources/Segment/Plugins/Platforms/iOS/iOSLifecycleMonitor.swift +++ b/Sources/Segment/Plugins/Platforms/iOS/iOSLifecycleMonitor.swift @@ -190,14 +190,15 @@ extension SegmentDestination.UploadTaskInfo { self.task = task if let application = UIApplication.safeShared { - let taskIdentifier = application.beginBackgroundTask { [self] in - self.task.cancel() - self.cleanup?() + var taskIdentifier: UIBackgroundTaskIdentifier = .invalid + taskIdentifier = application.beginBackgroundTask { + task.cancel() + application.endBackgroundTask(taskIdentifier) } self.taskID = taskIdentifier.rawValue - self.cleanup = { [self] in - application.endBackgroundTask(UIBackgroundTaskIdentifier(rawValue: self.taskID)) + self.cleanup = { + application.endBackgroundTask(taskIdentifier) } } }