From 2ee021b64d5f7169e7aa38b668ababfa72f4d839 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Leon=20B=C3=B6ttger?= Date: Mon, 18 Aug 2025 13:26:19 +0200 Subject: [PATCH] Fix URL Sharing --- ShareExtension/ShareViewController.swift | 31 ++++++++++++------------ 1 file changed, 16 insertions(+), 15 deletions(-) diff --git a/ShareExtension/ShareViewController.swift b/ShareExtension/ShareViewController.swift index 5553a68..805c6d0 100644 --- a/ShareExtension/ShareViewController.swift +++ b/ShareExtension/ShareViewController.swift @@ -57,21 +57,22 @@ class ShareViewController: NSViewController, ShareExtensionDelegate { self.zipFolderAndSetUpIcon() } } else { - for attachment in attachments { - if attachment.hasItemConformingToTypeIdentifier(kUTTypeURL as String) { - attachment.loadItem(forTypeIdentifier: kUTTypeURL as String, options: nil) { data, _ in - if let urlData = data as? Data, - let url = URL(dataRepresentation: urlData, relativeTo: nil, isAbsolute: false) - { - self.urls.append(url) - } else if let url = data as? NSURL { - self.urls.append(url as URL) - } - - if self.urls.count == attachments.count { - DispatchQueue.main.async { - self.zipFolderAndSetUpIcon() - } + + let filteredAttachments = attachments.filter { $0.hasItemConformingToTypeIdentifier(kUTTypeURL as String) } + + for attachment in filteredAttachments { + attachment.loadItem(forTypeIdentifier: kUTTypeURL as String, options: nil) { data, _ in + if let urlData = data as? Data, + let url = URL(dataRepresentation: urlData, relativeTo: nil, isAbsolute: false) + { + self.urls.append(url) + } else if let url = data as? NSURL { + self.urls.append(url as URL) + } + + if self.urls.count == filteredAttachments.count { + DispatchQueue.main.async { + self.zipFolderAndSetUpIcon() } } }