0

步骤 01:我可以运行我的应用程序(应用程序名称:TextDetectAPP)

步骤02:用户按下主页按钮

步骤 03:用户打开 Skype 或任何第三方应用程序(应用程序名称:TextDetectAPPMove 到后台状态)

Spep04:用户复制文本(我需要从 Skype 或任何第三方应用程序获取复制文本)

笔记 :

  • UIpasteboard 仅在 iOS swift 中运行良好,只有用户开发的应用程序

  • 我们是否有权从 Skype、whats up 或 iOS swift 中的任何第三方应用程序中读取短信?

提前致谢

4

1 回答 1

0

如果我正确理解您的问题,您希望获取在其他应用程序(Skype、FB 等)中复制的文本。您可以使用UIPasteboard该类来执行此操作。通常文本会被复制到通用粘贴板上,您可以毫无问题地访问它(我已经尝试使用 Skype 和 Message (iOS) 应用程序,它正在工作)applicationDidBecomeActive当您重新打开您的应用程序时,您可以在委托方法中从第三方应用程序中获取复制的文本,如下所示:

func applicationDidBecomeActive(_ application: UIApplication) {
    if let clipboardString = UIPasteboard.general.string {
        print(clipboardString)
    }
}

您还可以使用UIPasteboardChanged通知来收听粘贴板中的更改,但是您无法收到来自其他应用程序的更改通知。此外,您的应用程序可能不会一直处于后台状态执行代码(除非您启用某些特定的后台模式,如音频、Airplay 等)。因此,当您在后台时,您无法获取复制的文本。您要么需要使用上述方法,(或)如果您的应用支持后台执行,则可以每隔 n 秒NSTimer触发一次以获取粘贴板内容。

于 2018-03-14T09:07:24.363 回答