'Universal Clipboard' for macOS Sierra & iOS 10 streamlines copy/paste between devices

Posted:
in macOS
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.
«1

Comments

  • Reply 1 of 23
    dreyfus2dreyfus2 Posts: 1,072member
    Well, file size is not really my main concern... I would love to know if it is 'last item only' or multiple clippings? Can't seem to find that information anywhere...
    latifbp
  • Reply 2 of 23
    larz2112larz2112 Posts: 291member
    I think this is a really cool, useful feature! There have actually been times in the past where I have copied something on my iPhone, then realized, oh wait, I can't paste it into the document I'm working in on my iMac. Soon I'll be able to do that!  :smiley: 
  • Reply 3 of 23
    why-why- Posts: 305member
    This was one thing I was really impressed with. Step up your game everyone
  • Reply 4 of 23
    sockrolidsockrolid Posts: 2,789member
    ... the fact that clipboard contents have to be uploaded to iCloud could introduce lag into the equation.
    Yes, there is lag.  I copied/pasted a line of text from Pages on iOS 10 to Notes on macOS Sierra and there was about a 3 second lag.
    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.

    lolliversteveh
  • Reply 5 of 23
    hmurchisonhmurchison Posts: 12,419member
    Solution has already been found in Copied app.  I suspect that once people get used to Clipboard Sync even at a basic level many will seek out more powerful solutions. A win/win for all.

       
    iSRSemoellerlatifbp
  • Reply 6 of 23
    Rayz2016Rayz2016 Posts: 6,957member
    Solution has already been found in Copied app.  I suspect that once people get used to Clipboard Sync even at a basic level many will seek out more powerful solutions. A win/win for all.

       
    Yup, I've been usin Copied for a few months. It's brilliant. Unless Apple's clipboard supports multiple entries then I'm going to stick with it. 
  • Reply 7 of 23
    I can see myself using this a lot. But for pics and videos I just use AirDrop between devices. Works fine 
    kevin kee
  • Reply 8 of 23
    semi_guysemi_guy Posts: 64member
    I just hope I won't get a spinning beach ball every time I try to copy and paste something that I do not want to share across devices...
  • Reply 9 of 23
    MacProMacPro Posts: 19,718member
    dreyfus2 said:
    Well, file size is not really my main concern... I would love to know if it is 'last item only' or multiple clippings? Can't seem to find that information anywhere...
    That takes me back!  One of my most beloved MacOS (as in Mac Plus days) was Multi-Clip, where you can scroll back through a lot of past 'cuts and copies'.  I wonder if there s such a thing for OS X?
  • Reply 10 of 23
    maysonmayson Posts: 6member
    Interesting – Safari 10 only allows the last copied item, but TextMate shows a choice of Paste, Paste Next, Paste Previous, and History (which shows things copied on all devices)
  • Reply 11 of 23
    netroxnetrox Posts: 1,415member
    I am disappointed that it has to be uploaded to the iCloud... I have slow internet and that would be just unacceptable.
  • Reply 12 of 23
    paxmanpaxman Posts: 4,729member
    larz2112 said:
    I think this is a really cool, useful feature! There have actually been times in the past where I have copied something on my iPhone, then realized, oh wait, I can't paste it into the document I'm working in on my iMac. Soon I'll be able to do that!  :smiley: 
    Ditto  :smile: 

    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. 
  • Reply 13 of 23
    mdriftmeyermdriftmeyer Posts: 7,503member
    Yes it supports multiple object stores. https://developer.apple.com/reference/uikit/uipasteboard

    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 in FileManager, and read about the com.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 the localOnly option.

    • To indicate an expiration time and date for copied data, call the setItems(_:options:) method with the expirationDate 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:) and withUniqueName() 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 for public.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 in NSFileManager, and read about the com.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:

    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: and pasteboardWithUniqueName 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 for public.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).





    edited June 2016 tallest skilcornchip
  • Reply 14 of 23
    technotechno Posts: 737member
    netrox said:
    I am disappointed that it has to be uploaded to the iCloud... I have slow internet and that would be just unacceptable.
    I am too. I was sure it would be a 'hand off' feature and use bluetooth. 

    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.
    cornchip
  • Reply 15 of 23
    melgrossmelgross Posts: 33,510member
    Yes it supports multiple object stores. https://developer.apple.com/reference/uikit/uipasteboard

    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 in FileManager, and read about the com.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 the localOnly option.

    • To indicate an expiration time and date for copied data, call the setItems(_:options:) method with the expirationDate 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:) and withUniqueName() 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 for public.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 in NSFileManager, and read about the com.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:

    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: and pasteboardWithUniqueName 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 for public.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).





    That's interesting. To me though, the biggest problem with Apple's clipboard is that it holds just one item. Previous items get pushed off every time a new item is added. To get over that, a third party solution is needed, which isn't satisfactory. It's a kludge. I would have been pretty happy if Apple had "fixed" that. But it's a philosophical point for them.
  • Reply 16 of 23
    emoelleremoeller Posts: 574member
    Solution has already been found in Copied app.  I suspect that once people get used to Clipboard Sync even at a basic level many will seek out more powerful solutions. A win/win for all.

       
    Thanks for this link.  I've just downloaded and started using this and it looks like it will do everything that I had wanted (and way more than Apple's implementation, at least as it is in beta today).

    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.
    cornchip
  • Reply 17 of 23
    SpamSandwichSpamSandwich Posts: 33,407member
    If it works with things like the Photos app, it'll be very interesting. I find the current AirDrop to be inconsistent and arbitrary.
  • Reply 18 of 23
    kevin keekevin kee Posts: 1,289member
    I love AirDrop. It never failed on me, it is super fast (even with video file) and does not depend on internet. I wonder why Apple does not make universal clipboard using the same method as AirDrop. If it was security reason, couldn't it tie up with Apple ID for both devices?
    edited June 2016
  • Reply 19 of 23
    alanhalanh Posts: 75member
    dreyfus2 said:
    Well, file size is not really my main concern... I would love to know if it is 'last item only' or multiple clippings? Can't seem to find that information anywhere...
    That takes me back!  One of my most beloved MacOS (as in Mac Plus days) was Multi-Clip, where you can scroll back through a lot of past 'cuts and copies'.  I wonder if there s such a thing for OS X?
    There are many such utilities out there. The one i use is Jumpcut, unobtrusive and does a good job.
  • Reply 20 of 23
    MacProMacPro Posts: 19,718member
    alanh said:
    That takes me back!  One of my most beloved MacOS (as in Mac Plus days) was Multi-Clip, where you can scroll back through a lot of past 'cuts and copies'.  I wonder if there s such a thing for OS X?
    There are many such utilities out there. The one i use is Jumpcut, unobtrusive and does a good job.
    DOH!  Thanks, I found that on many download sites I'd never thought to even look before.  I'm going to check out OS X app Store fit or something like that.  I like the auto update and family sharing you get through that.
Sign In or Register to comment.