Search code examples
iosswiftxcodeuiactivityviewcontroller

How to attach an image icon to the `UIActivityViewController`?


How to attach an image icon to the UIActivityViewController?

When I do

    let activityViewController = UIActivityViewController(
          activityItems: [ 
                           UIImage(named: "imageName")!,
                           urlName, 
                           urlProduct
                         ], 
         applicationActivities: nil)

it doesn't work

the selected frame marked in red


Solution

  • You need to define the LinkMetadata using activityViewControllerLinkMetadata method:

        @available(iOS 13.0, *)
        func activityViewControllerLinkMetadata(_ activityViewController: UIActivityViewController) -> LPLinkMetadata? {
            let metadata = LPLinkMetadata()
            // define your metadata here
            return metadata
        }
    

    More info here: https://developer.apple.com/documentation/uikit/uiactivityitemsource/3144571-activityviewcontrollerlinkmetada?language=swift