是否可以为iMessage应用程序扩展创建自定义MSMessageLayout?如果是这样,有人可以给我一个例子

时间:2016-12-14 12:57:03

标签: ios objective-c imessage-extension msmessage msmessagetemplatelayout

在我到目前为止看到的iMessage-App扩展的例子中,我了解到发送GIF的唯一方法是创建一个MSMessageTemplateLayout并附加一个gif进行发送。但是,在观察了一些应用程序之后。我看到 GIPHY 通过MSMessageLayoutMSSticker发送GIF。我知道这是因为MSMessageLayoutMSSticker在屏幕上的显示方式。您可以在下面的图片中看到:

This gif is <code>MSSticker</code>

以上图片是通过MSMessageLayout插入的gif。

This gif is <code>MSMessageLayout</code>

以上图片是通过MSMessageLayout插入的gif。

此处的问题是MSMessageTemplateLayout没有任何方法可以覆盖。我无法通过哪种方式将gif插入MSMessageLayout并使其发挥作用。我尝试过这个。我知道的唯一方法是创建一个自定义MSSticker,我找不到任何示例。

我尝试这种方法的主要原因是:

  • 我们可以通过MSMessageLayout
  • 发送的GIF大小限制为500 kb
  • 通过GIPHY,我们可以发送一个大小超过500 kb的GIF。我自己查了一下

所以,向社区发出了两个不起眼的要求:

  • 如果有人已尝试通过MSSticker发送GIF,请回答您是如何做到的
  • 如果有人成功发送了尺寸为&gt的GIF; 500 kb到(.*)(\d+) ,请回答你是怎么做的

1 个答案:

答案 0 :(得分:3)

通常当您在MSMessage内发送MSMessageTemplateLayout时,应用图标会显示在左上角(在屏幕截图中,它不显示)所以这让我觉得他们认为可能使用insertAttachment(_:)。通过这种方式,媒体由iMessage自动处理,因为它是通过任何其他应用程序的共享发送的。