Friday, February 17, 2023
HomeiOS DevelopmentTips on how to Use ShareLink for Sharing Information Like Textual content...

Tips on how to Use ShareLink for Sharing Information Like Textual content and Images

In iOS 16, SwiftUI comes with a brand new view referred to as ShareLink. When customers faucet on the share hyperlink, it presents a share sheet for customers to share content material to different functions or copy the information for later use.

The ShareLink view is designed to share any forms of information. On this tutorial, we are going to present you how one can use ShareLink to let customers share textual content, URL, and pictures.

Primary Utilization of ShareLink

Let’s start with an instance. To create a share hyperlink for sharing a URL, you may write the code like this:

SwiftUI robotically renders a Share button with a small icon.


When tapped, iOS brings up a share sheet for customers to carry out additional actions reminiscent of copy and including the hyperlink to Reminders.


To share textual content, as a substitute of URL, you may merely move the a string to the merchandise parameter.

Customizing the Look of Share Hyperlink

To customise the looks of the hyperlink, you may present the view content material within the closure like this:

On this case, SwiftUI solely shows the share icon for the hyperlink.


Alternatively, you may current a label with a system picture or customized picture:

When initializing the ShareLink occasion, you may embrace two extra parameters to supply additional details about the shared merchandise:

The topic parameter allows you to embrace a title concerning the URL or any merchandise to share. The message parameter permits you to specify the outline of the merchandise. Relying on the actions the person shares to, iOS will current the topic or message or each. Say, if you happen to add the URL to Reminders, the Reminders app shows the preset message.


Sharing Photographs

Aside from URLs, you may share pictures utilizing ShareLink. Here’s a pattern code snippet:

For the merchandise parameter, you specify the picture to share. And, you present a preview of the picture by passing an occasion of SharePreview. Within the preview, you specify the title of the picture and the thumbnail. Whenever you faucet the Share button, iOS brings up a share sheet with the picture preview.


Conforming to Transferable

Aside from URLs, the merchandise parameter accepts any objects that conforms to the Transferable protocol. In iOS, the next varieties are the usual Transferable varieties:

  • String
  • Information
  • URL
  • Attributed String
  • Picture

Transferable is a protocol that describes how a kind interacts with transport APIs reminiscent of drag and drop or copy and paste.

So what when you have a customized object, how will you make it transferable? Let’s say, you create the next Picture construction:

To let ShareLink share this object, it’s a must to undertake the Transferable protocol for Picture and implement the transferRepresentation property:

There are a variety of Switch Representations together with ProxyRepresentation, CodableRepresentation, DataRepresentation, and FileRepresentation. Within the code above, we use the ProxyRepresentation which is a switch illustration that makes use of one other sort’s switch illustration as its personal. Right here, we use the Picture‘s built-in Transferable conformance.


Since Picture now conforms to Transferable, you may move the Picture occasion to ShareLink:

When customers faucet the Share button, the app brings up the share sheet for sharing the photograph.

What’s Subsequent

This tutorial reveals you how one can use ShareLink for sharing textual content, URL, and pictures. The truth is, this new view permits you to share any forms of information so long as the kind conforms to the Transferable protocol.

For customized varieties, you undertake the protocol and supply a switch illustration by utilizing one of many built-in TransferRepresentation varieties. We briefly talk about the ProxyRepresentation sort. If you’ll want to share a file between functions, you should use the FileRepresentation sort. In later tutorials, we are going to talk about extra on that.


Most Popular