'Universal Clipboard' for macOS Sierra & iOS 10 streamlines copy/paste between devices
A useful addition to Continuity in both macOS Sierra and iOS 10 is the Universal Clipboard, making it easier to shuttle content back and forth between Macs and iOS devices without AirDrop or other workarounds.

The addition is so simple as to be almost invisible. If you copy text, images, or video to one device's clipboard, it should be automatically uploaded to iCloud, making it ready to paste on another device.
The only catch is that all devices must be running either Sierra or iOS 10, and signed into the same Apple ID.
Of course, the fact that clipboard contents have to be uploaded to iCloud could introduce lag into the equation. This should be negligible for most text and images, but trying to copy videos may mean having to wait a few minutes or more, depending on bandwidth and the size of the file. It's not immediately clear if there will be a cap on clipboard filesizes.
Various third-party apps have offered the same feature over the years, but native inclusion by Apple should make it easier to use.
Both Sierra and iOS 10 are due to launch in the fall. In the meantime, developer betas are available, and public betas should arrive in July.

The addition is so simple as to be almost invisible. If you copy text, images, or video to one device's clipboard, it should be automatically uploaded to iCloud, making it ready to paste on another device.
The only catch is that all devices must be running either Sierra or iOS 10, and signed into the same Apple ID.
Of course, the fact that clipboard contents have to be uploaded to iCloud could introduce lag into the equation. This should be negligible for most text and images, but trying to copy videos may mean having to wait a few minutes or more, depending on bandwidth and the size of the file. It's not immediately clear if there will be a cap on clipboard filesizes.
Various third-party apps have offered the same feature over the years, but native inclusion by Apple should make it easier to use.
Both Sierra and iOS 10 are due to launch in the fall. In the meantime, developer betas are available, and public betas should arrive in July.
Comments
And the dreaded spinning beachball appeared for about 2 seconds.
But Apple's philosophy is "first get it working, then get it to work fast." I think it's an extremely useful feature.
So I'm willing to accept a little lag until Apple fixes the performance.
It would be good if this worked over both Bluetooth and iCloud, prioritizing Bluetooth. In parallel it should go vie iCloud where I am guessing / hoping it will be stored for multiple pastes as mentioned above.
SWIFT DOC:
Pasteboard Security and Privacy Changes in iOS 10
Starting in iOS 10, the Find pasteboard (identified with the
UIPasteboardNameFind
constant) is unavailable.Persistent named pasteboards are deprecated in iOS 10. The system sets the persistence of all pasteboards automatically, with named pasteboards marked as nonpersistent and the systemwide general pasteboard marked as persistent. If you try to set the
setPersistent(_:)
property on a pasteboard, Xcode issues a deprecation warning.Instead of persistent named pasteboards, used shared containers. For information on shared containers, read about the
containerURLForSecurityApplicationGroupIdentifier(_:)
method inFileManager
, and read about thecom.apple.security.application-groups
entitlement key in Adding an App to an App Group in Entitlement Key Reference.(Nonpersistent named pasteboards remain available. You can use these to implement such features as Duplicate or Copy Style. A nonpersistent named pasteboard is available only in the process that creates it.)
Starting in iOS 10 there is a new Handoff feature which allows the general pasteboard contents to automatically transfer between devices. You can control Handoff behavior for pasteboard contents, and can set a pasteboard to expire, by using the
setItems(_:options:)
method, as follows:To exclude a pasteboard from Handoff, call the
setItems(_:options:)
method with thelocalOnly
option.To indicate an expiration time and date for copied data, call the
setItems(_:options:)
method with theexpirationDate
option. At the time and date that you set, the system removes the pasteboard items from the pasteboard.You can use the systemwide general pasteboard for copy-paste operations involving any kind of data. Apps can create named pasteboards for their own use and for use by other apps that have the same team ID. See the
init(name:create:)
andwithUniqueName()
methods.When you write an object to a pasteboard, it is stored as a pasteboard item. A pasteboard item is one or more key-value pairs where the key is a string that identifies the representation type of the value. Having multiple representation types per pasteboard item makes it more possible for one app to share data with another app without having to know specific capabilities of that app. For example, the source app could write the same image to the pasteboard in PNG, JPEG, and GIF data formats. If the receiving app can only handle GIF images, it can still obtain the pasteboard data.
A Uniform Type Identifier (UTI) is frequently used for a representation type (sometimes called a pasteboard type). For example, you could use
kUTTypeJPEG
(a constant forpublic.jpeg
) as a representation type for JPEG data. Apps are free to use any string to name a representation type; however, for app-specific data types, it is recommended that you use reverse-DNS notation to ensure the uniqueness of the type (for example,com.myCompany.myApp.myType
).OBJECTIVE-C DOC:
Pasteboard Security and Privacy Changes in iOS 10
Starting in iOS 10, the Find pasteboard (identified with the
UIPasteboardNameFind
constant) is unavailable.Persistent named pasteboards are deprecated in iOS 10. The system sets the persistence of all pasteboards automatically, with named pasteboards marked as nonpersistent and the systemwide general pasteboard marked as persistent. If you try to set the
persistent
property on a pasteboard, Xcode issues a deprecation warning.Instead of persistent named pasteboards, used shared containers. For information on shared containers, read about the
containerURLForSecurityApplicationGroupIdentifier:
method inNSFileManager
, and read about thecom.apple.security.application-groups
entitlement key in Adding an App to an App Group in Entitlement Key Reference.(Nonpersistent named pasteboards remain available. You can use these to implement such features as Duplicate or Copy Style. A nonpersistent named pasteboard is available only in the process that creates it.)
Starting in iOS 10 there is a new Handoff feature which allows the general pasteboard contents to automatically transfer between devices. You can control Handoff behavior for pasteboard contents, and can set a pasteboard to expire, by using the
setItems:options:
method, as follows:To exclude a pasteboard from Handoff, call the
setItems:options:
method with theUIPasteboardOptionLocalOnly
option.To indicate an expiration time and date for copied data, call the
setItems:options:
method with theUIPasteboardOptionExpirationDate
option. At the time and date that you set, the system removes the pasteboard items from the pasteboard.You can use the systemwide general pasteboard for copy-paste operations involving any kind of data. Apps can create named pasteboards for their own use and for use by other apps that have the same team ID. See the
pasteboardWithName:create:
andpasteboardWithUniqueName
methods.When you write an object to a pasteboard, it is stored as a pasteboard item. A pasteboard item is one or more key-value pairs where the key is a string that identifies the representation type of the value. Having multiple representation types per pasteboard item makes it more possible for one app to share data with another app without having to know specific capabilities of that app. For example, the source app could write the same image to the pasteboard in PNG, JPEG, and GIF data formats. If the receiving app can only handle GIF images, it can still obtain the pasteboard data.
A Uniform Type Identifier (UTI) is frequently used for a representation type (sometimes called a pasteboard type). For example, you could use
kUTTypeJPEG
(a constant forpublic.jpeg
) as a representation type for JPEG data. Apps are free to use any string to name a representation type; however, for app-specific data types, it is recommended that you use reverse-DNS notation to ensure the uniqueness of the type (for example,com.myCompany.myApp.myType
).I am also curious if there isn't multiple clippings, then how do you prevent the over-writing of a clipboard you actually want? It is not unheard of to use multiple devices at the same time and perhaps you want both clipboards.
I wish that these solutions would work even without iCloud as I am not always connected. Bluetooth local wifi or syncing as a default if iCloud were unavailable would be extremely handy.