如果我正确理解您的问题,您希望获取在其他应用程序(Skype、FB 等)中复制的文本。您可以使用UIPasteboard
该类来执行此操作。通常文本会被复制到通用粘贴板上,您可以毫无问题地访问它(我已经尝试使用 Skype 和 Message (iOS) 应用程序,它正在工作)。applicationDidBecomeActive
当您重新打开您的应用程序时,您可以在委托方法中从第三方应用程序中获取复制的文本,如下所示:
func applicationDidBecomeActive(_ application: UIApplication) {
if let clipboardString = UIPasteboard.general.string {
print(clipboardString)
}
}
您还可以使用UIPasteboardChanged
通知来收听粘贴板中的更改,但是您无法收到来自其他应用程序的更改通知。此外,您的应用程序可能不会一直处于后台状态执行代码(除非您启用某些特定的后台模式,如音频、Airplay 等)。因此,当您在后台时,您无法获取复制的文本。您要么需要使用上述方法,(或)如果您的应用支持后台执行,则可以每隔 n 秒NSTimer
触发一次以获取粘贴板内容。