How to copy text to clipboard/pasteboard with Swift

Garry Law picture Garry Law · Jul 10, 2014 · Viewed 81.9k times · Source

I'm looking for a clean example of how to copy text to iOS clipboard that can then be used/pasted in other apps.

The benefit of this function is that the text can be copied quickly, without the standard text highlighting functions of the traditional text copying.

I am assuming that the key classes are in UIPasteboard, but can't find the relevant areas in the code example they supply.

Answer

jtbandes picture jtbandes · Jul 10, 2014

If all you want is plain text, you can just use the string property. It's both readable and writable:

// write to clipboard
UIPasteboard.general.string = "Hello world"

// read from clipboard
let content = UIPasteboard.general.string

(When reading from the clipboard, the UIPasteboard documentation also suggests you might want to first check hasStrings, "to avoid causing the system to needlessly attempt to fetch data before it is needed or when the data might not be present", such as when using Handoff.)