From 733ed8bec870880fea678214b2fcf5c358df06c5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Leon=20B=C3=B6ttger?= Date: Sun, 21 Dec 2025 13:48:31 +0100 Subject: [PATCH] Automatically delete temporary files after file transfer --- NearbyShare/Connection/NearbyConnectionManager.swift | 5 ++--- .../Connection/OutboundNearbyConnection.swift | 12 ++++++++++++ 2 files changed, 14 insertions(+), 3 deletions(-) diff --git a/NearbyShare/Connection/NearbyConnectionManager.swift b/NearbyShare/Connection/NearbyConnectionManager.swift index b484ae4..2f8ea26 100644 --- a/NearbyShare/Connection/NearbyConnectionManager.swift +++ b/NearbyShare/Connection/NearbyConnectionManager.swift @@ -410,8 +410,8 @@ public class NearbyConnectionManager: NSObject, NetServiceDelegate, InboundNearb if let transfer = incomingConnections[id] { transfer.cancel() } - if let transfer = outgoingTransfers[id] { - transfer.connection.cancel() + if let info = outgoingTransfers[id] { + info.connection.cancel() } } @@ -650,7 +650,6 @@ public class NearbyConnectionManager: NSObject, NetServiceDelegate, InboundNearb if accessSuccess { url.stopAccessingSecurityScopedResource() } - } else { log("[NearbyConnectionManager] File URL \(url) does not point to a security scoped resource") diff --git a/NearbyShare/Connection/OutboundNearbyConnection.swift b/NearbyShare/Connection/OutboundNearbyConnection.swift index ddf66d4..ec07406 100644 --- a/NearbyShare/Connection/OutboundNearbyConnection.swift +++ b/NearbyShare/Connection/OutboundNearbyConnection.swift @@ -63,6 +63,18 @@ class OutboundNearbyConnection: NearbyConnection { override func disconnect() { super.disconnect() + // delete all files + for url in urlsToSend { + + do { + try FileManager.default.removeItem(at: url) + log("[OutboundNearbyConnection \(self.id)] Deleted file at \(url).") + } + catch { + log("[OutboundNearbyConnection \(self.id)] Failed to delete file at \(url): \(error)") + } + } + if let error = lastError { DispatchQueue.main.async { self.delegate?.failedWithError(connection: self, error: error)