iMessage API,访问不是通过您的应用发送的文本

iMessage API, accessing texts not sent through your app

我正在寻找一种方法来检测链接是否已在 iMessage 对话中共享。我不确定这是否可以通过 MSMessage 完成,因为它看起来只接收来自您的 iMessage 应用程序创建的消息的事件。

这是否意味着无法访问 iMessage 应用创建的消息范围之外的对话?非常感谢任何帮助!

你的猜测是正确的。您只能访问自己分机的消息。

the documentationMSMessagesAppViewController.didReceive(_:conversation:) 的引述:

You only receive notifications about messages sent using your extension. You cannot interact with messages from other extensions.

目前您只能访问来自您的应用程序的消息并且:

  • 已由用户选择。这意味着任何先前的消息 通过您的应用程序发送的内容将无法访问,除非用户点击它。

  • 在应用程序运行期间收到

请注意,我们仅处于该新功能的第三次 Beta 测试(目前我正在撰写本文)。由于此功能已开放 "enhancement",Apple 开发人员可能会在未来允许应用程序访问消息(当然,通过此应用程序发送的消息,Apple 真的很担心所有这些机密性问题;))