Apple 的 iMessage 应用程序有哪些限制?

What are my limitations with Apple's iMessage Applications?

我刚刚意识到 Apple 现在允许开发人员创建 iMessage 应用程序。有人熟悉 iMessage 应用程序(或扩展程序)的功能吗?例如:

假设我想做一个扩展来读取用户输入的内容(在正常的消息界面中),在文本中查找任何算术,执行算术然后在答案中加入,然后发送消息,一键完成。这可能吗?

我是 Apple Development 的新手,对他们的 API 和框架一无所知,所以我对可用的东西有点迷茫。我是一名计算机科学专业的学生,​​希望我可以运用我目前的知识来更快地学习。

Apple 的新 Messages Framework 非常有限,目前还不允许您谈论的任何事情。用户 总是 必须按下发送按钮,如果没有用户的最终操作,您将无法发送消息。除了您的应用已发送到特定 MSConversation 对象的消息外,您也无法在对话中看到任何其他消息。此外,无法看到用户在消息字段中键入的文本,您只能插入自己的文本、附件或 MSMessage 对象。

唯一可能的事情就是看看谁参与了对话。 Messages.framework 不会让您看到任何名称,但您可以使用 remoteParticipantIdentifiers to see who else is in the conversation or use the localParticipantIdentifier to get information about the user who is using your app to send the message. While your app is unable to see the name, you are able to use it in a label on your MSMessage object, see the following code taken from this twocentstudios tutorial:

let layout = MSMessageTemplateLayout()
layout.caption = "My name is $\(conversation.localParticipantIdentifer.uuidString)."
conversation.insert(message, localizedChangeDescription: nil)