Get notified on clipboard change in swift

Here is a copy-able swift 5.0 version

NotificationCenter.default.addObserver(self, selector: #selector(clipboardChanged),
                                               name: UIPasteboard.changedNotification, object: nil)

And further, if you want to get the text in your clipboard in this event,

    @objc func clipboardChanged(){
        let pasteboardString: String? = UIPasteboard.general.string
        if let theString = pasteboardString {
            print("String is \(theString)")
            // Do cool things with the string
        }
    }

You can capture UIPastedboardChangedNotification as described in this link:

https://developer.apple.com/library/ios/documentation/UIKit/Reference/UIPasteboard_Class/index.html#//apple_ref/c/data/UIPasteboardChangedNotification

Example: (impossible to make the code appeared correctly, I've pasted an image.

  1. Add notification to your didFinishLaunchingwithOptions call-back in AppDelegate

  2. Add function to handle when UIPastedboardChangedNotification sent to you AppDelegate

enter image description here