5

I have implemented a share Extension on my app. And on main app, I am using onOpenURL to access the shared file.

Example url = "myURlScheme://?share_url=file:///var/mobile/Media/PhotoData/OutgoingTemp/FA5F8F47-37E0-4E88-AF3B-C63B88BE6443/IMG_0247.JPG"

My onOpenURL:

            .onOpenURL { url in
            // Handle the deep link URL here
            if url.scheme == "myURlScheme",
               let components = URLComponents(url: url, resolvingAgainstBaseURL: false),
               let shareURLString = components.queryItems?.first(where: { $0.name == "share_url" })?.value
               {
                // Use the shared image URL in your app
                // Example: pass it to a view model or trigger appropriate logic
                let shareURL = URL(fileURLWithPath: shareURLString)
                loadFrom(URLAdress: shareURL)
            }
        }

loadFrom Function:

    DispatchQueue.global().async {
        do {
            if URLAdress.startAccessingSecurityScopedResource() {
                let imageData = try Data(contentsOf: URLAdress)
                if let loadedImage = UIImage(data: imageData) {
                    DispatchQueue.main.async {
                        // Update UI or perform further processing with loadedImage
                        
                    }
                }
            }
        } catch {
            print("Error reading image data: \(error)")
       }

0 Answers0