在应用程序级别删除粘贴板的内容

时间:2016-06-24 16:43:41

标签: ios swift uipasteboard

我们正在尝试为我们的应用程序控制粘贴板内容。我已经看到了创建自定义文本字段的方法并以这种方式删除了这种能力,但我正在询问是否有办法在应用程序级别执行此操作。

我试图利用applicationWillResignActive,applicationDidenterBackground和applicationWillTerminate。根据我的想法,我可以清除粘贴板内容,然后在应用程序之外安全地保存数据。

我最初的尝试是模仿我从以前可能不再有效的解决方案中看到的东西。

var pb = self.pasteboard()
pb.setValue("", forPasteboardType: UIPasteboardNameGeneral)

这里的错误是AppDelegate没有成员粘贴板

有没有办法让它在app delegate中运行,还是我降级为更改应用中的所有字段?

2 个答案:

答案 0 :(得分:0)

没有self.pasteboard(),但有UIPasteboard.generalPasteboard()

请改用它。

答案 1 :(得分:0)

您可能已经看到了self.pasteboard()返回UIPasteboard实例的先前答案,现在您的应用程序中没有处理它。所以你试试这个:

let pasteBoard = UIPasteboard()
pasteBoard.setValue("", forPasteboardType: UIPasteboardNameGeneral)

或者,如果您想在所有其他方法中获取pasteBoard个实例,那么只需在lazy var中声明appDelegate

lazy var pasteBoard = UIPasteboard()

然后在以下任何方法中使用它:

self.pasteBoard.setValue("", forPasteboardType: UIPasteboardNameGeneral)