iOS和macOS具有称为“通用剪贴板”的内置功能,可使用iCloud在设备之间同步剪贴板的内容。

NSPasteboard.general.clearContents()
NSPasteboard.general.writeObjects("Test 123")

我想在Cocoa应用程序的通用粘贴板上写一些东西,以便在不与其他iCloud设备同步的情况下在应用程序之间共享它。我找不到解决方法。实际上,我认为如果没有用户在设置中手动禁用它,这是不可能的。

文档说:



但是,也许有一种解决方法,私有(private)API(我不知道没有App Store)或其他人可能知道的东西。 :)

干杯

最佳答案

是的,常规粘贴板可用于所有应用程序,但NSPasteboard可用于创建专用粘贴板。您需要做的只是:

let myPasteboard = NSPasteboard(name: NSPasteboard.Name("mypasteboard"))

您可以检查文档here。因此,您可以将粘贴的项目复制到您的私有(private)粘贴板上,然后,仅在需要时才可以将数据传输到常规粘贴板上,并使数据可用于所有应用程序。

但是,如果要防止通用剪贴板在设备之间共享,您要做的就是:
let generalPasteboard = NSPasteboard.general

// current host only
generalPasteboard.prepareForNewContents(with: .currentHostOnly)
// write here to the pasteboard

关于ios - 暂时禁用通用剪贴板,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/56904388/

10-13 03:02