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

时间:2016-12-01 22:20:56

标签: ios imessage-extension

我刚刚意识到Apple现在允许开发人员创建iMessage应用程序。是否有人熟悉iMessage应用程序(或扩展程序)可以执行的操作?例如:

  • 扩展程序是否可以在用户不按常规发送按钮的情况下发送文本?
  • 扩展程序可以读取传入的消息吗? (我怀疑它可以)
  • 能看到用户发短信的对象吗?
  • 可以看到用户输入的文字吗?

假设我想创建一个扩展,读取用户键入的内容(在正常的Messages界面中),查找文本中的任何算术,然后在答案中执行算术,然后发送消息,全部在点击一下。这可能吗?

我是Apple Development的新手,并且对他们的API和框架一无所知,所以我对可用的内容感到有点迷茫。我是计算机科学专业的学生,​​我希望能用我现有的知识更快地学习。

1 个答案:

答案 0 :(得分:4)

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

唯一可能的是看谁是谈话的一部分。 Messages.framework不会让您看到任何名称,但您可以使用remoteParticipantIdentifiers查看对话中的其他人或使用localParticipantIdentifier获取有关使用您的应用的用户的信息发送消息。当您的应用无法看到名称时,您可以在MSMessage对象的标签中使用它,请参阅以下代码this twocentstudios tutorial

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