Dan*_*iel 5 macos clipboard nspasteboard ios
iOS和macOS具有称为“通用剪贴板”的内置功能,该功能可使用iCloud在设备之间同步剪贴板的内容。
NSPasteboard.general.clearContents()
NSPasteboard.general.writeObjects("Test 123")
Run Code Online (Sandbox Code Playgroud)
我想在Cocoa应用程序的通用粘贴板上写一些东西,以便在不与其他iCloud设备同步的情况下在应用程序之间共享它。我找不到解决方法。实际上,我认为如果没有用户在设置中手动禁用它,这是不可能的。
文档说:
通用粘贴板(通过通用类方法提供)可自动参与macOS 10.12和更高版本以及iOS 10.0和更高版本中的通用剪贴板功能。没有用于与此功能交互的macOS API。 https://developer.apple.com/documentation/appkit/nspasteboard
但是,也许有一种解决方法,私有API(我知道没有App Store)或其他人可能知道的东西。:)
干杯
是的,通用粘贴板可用于所有应用程序,但 NSPasteboard 可用于创建私人粘贴板。您需要做的就是:
let myPasteboard = NSPasteboard(name: NSPasteboard.Name("mypasteboard"))
Run Code Online (Sandbox Code Playgroud)
您可以在此处查看文档。因此,您可以将粘贴的项目复制到您的私人粘贴板,并且只有在您需要时,您才可以将数据传输到通用粘贴板并使数据可供所有应用程序使用。
但是,如果您想阻止跨设备共享通用剪贴板,您所要做的就是:
let generalPasteboard = NSPasteboard.general
// current host only
generalPasteboard.prepareForNewContents(with: .currentHostOnly)
// write here to the pasteboard
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
95 次 |
最近记录: |