问题标签 [msmessage]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
125 浏览

ios - 更改 MSMessage 应用程序图标槽的背景颜色

我将 iMessage 扩展程序合并到我的应用程序中,为此我在需要发送我的应用程序中的某些内容时创建 MSMessage 实例。我使用了推荐的 iMessage 应用图标资产分辨率。应用图标显示在 MSMessage 视图的左上角。应用程序图标插槽是椭圆形的,我的应用程序图标居中对齐。椭圆形的其余部分是黑色的,坦率地说,这让它看起来很可怕!有什么办法可以改变椭圆形应用图标槽的背景颜色吗?

0 投票
3 回答
722 浏览

ios - MSMessagesAppViewController 没有正确调用 didSelect()?

问题

在 iOS 10.2 上

didSelect() 仅在第一次选择消息时调用,而不是第二次选择相同的消息(在第一次选择发生后)。例如:

  1. 在我的消息应用程序处于活动状态时单击收到的 MSMessage Message_A,didSelect() 方法被正确调用并且应用程序转换到扩展视图。
  2. 单击向下箭头可将应用程序恢复为压缩视图。
  3. 再次单击相同的消息 - Message_A,这次没有触发 didSelect()。

苹果的话

func didSelect(MSMessage,对话:MSConversation)

在系统更新对话的 selectedMessage 属性以响应用户在脚本中选择消息对象后调用。

我的想法

当我们第二次单击该消息时,似乎 selectedMessage 没有更新(因为它已经在第一次单击中设置),因此没有调用 didSelect() 。

问题

  • 我做错了吗?
  • 只要发生选择,有没有办法解决并调用 didSelect() ?selectedMessage 是只读的...
  • 或者有没有办法让消息在用户打开(点击)消息后立即从对话中过期(消失)?
0 投票
1 回答
291 浏览

ios - MSMessage message.senderParticipantIdentifier.uuidString 未转换为名称

我正处于 iMessage 扩展程序的最后阶段,并且有一个最后一个挥之不去的问题,我认为这是模拟器的问题,但现在我的应用程序在测试设备上运行,它本身并没有解决。

当我创建消息标题时,以下代码可将 partipipantIdentifer 更改为他们的名称:

但是,在收件人末尾查看邮件时,此代码:

不显示发件人姓名,只显示他们的 UUID 字符串。将发件人 UUID 转换为他们的名字我缺少什么?有谁知道这是否可能?

谢谢

0 投票
0 回答
337 浏览

ios - iMessage - 检测何时点击 MSMessage

我正在开发一个 iMessage 扩展程序,可以在其中浏览内容。选择一个后,它作为 MSMessage 发送。当用户在发送后点击 MSMessage 气泡时,我正在尝试显示图像预览。

我希望用来检测水龙头,但只有在 selectedMessage更改func didSelect(MSMessage, conversation: MSConversation)时才会调用此方法。这将在第一次工作,但如果用户再次选择相同的消息,我还没有找到一种方法来区分消息选择与点击“显示扩展视图”按钮。

谁能想到一个解决方法?

0 投票
1 回答
74 浏览

ios - 从 MSConversation 访问以前的 MSMessage

如果我在 iMessage 应用程序中发送了几条消息,并且我想访问以前的消息(显然只是我自己的应用程序创建的消息,而不仅仅是用户在他们的对话中发送的任何消息),有没有办法可以做到这一点?

我可以通过以下方式访问最新消息:

[self activeConversation].selectedMessage;

任何方式来遍历用户可能从未点击过的先前消息(因此,不能简单地将其存储在用户默认值中)

0 投票
2 回答
900 浏览

ios - 使用 Swift 在 iMessage 中发送多条消息

我正在为 iMessage 编写一个应用程序,并希望在用户点击 imessage 应用程序屏幕时自动发送消息。

该消息由位置地址的地图组成。

最初,我曾尝试使用 message.url 来包含 maps.apple.com url,这样当接收者点击收到的消息时,它会打开地图。

但这似乎不起作用。所以我尝试单独发送地址:首先是图像,然后是地址。然后接收者可以点击地址并打开地图。

我有以下代码:

理想情况下,我希望它只需要初始点击,但使用“send”和“sendText”只发送第一个“send”指令,“sendText”被忽略。

如果我使用注释掉的“insert”和“insertText”,那么两条指令都会执行,但我必须点击“send”才能发送它。

我努力了:

但这没有用。只发送了文本。图像根本不显示。

有谁知道如何一键发送两条消息?

或者,有谁知道我是否可以将两条消息合二为一?

0 投票
1 回答
163 浏览

xcode - 从 iMessage 扩展应用程序的第二视图使用 MSMessage 发送消息

我设计了一个 iMessage 扩展应用程序,其中初始/第一个视图有一个“输入”按钮,当我们单击“输入”时,它会打开第二个视图,其中还有一个“发送”按钮。单击“发送”时,我想使用 MSMessage 发送消息。我按下“发送”时的代码是:

但是当我单击“发送”时,没有执行任何操作。当我将相同的代码粘贴到按下的“输入”按钮中时,它工作正常。有没有办法让这个代码即使从第二个视图也能工作,即在我按下“发送”按钮的情况下?

0 投票
1 回答
218 浏览

ios - 如何在 MSMessage 中嵌入 URL?

目前能够将图像附加到MSMessage. MSMessage还设置使用的url,MSMessage.url如下所示。

但是,当收件人点击消息时,该 URL 不会在 Safari 浏览器中打开。相反,应用商店打开了。

0 投票
1 回答
96 浏览

ios - 快速编辑 MSMessage URL 数据

主要问题 - 如何检查收件人是否已打开 MSMessage?

我有一个 iMessage 扩展,用户可以在其中向收件人发送 MSMessage。收到消息后,收件人应该能够打开它并阅读发件人发送的内容(从 URL 中提取消息)。

但是,在阅读一次之后(意味着在扩展关闭时),从那时起打开的消息会告诉他们他们已经阅读了该消息。

如何保存信息(很可能在 URL 中)以便应用程序可以查看它是否已经被收件人打开过一次?

需要考虑的事情:我看到了一些关于能够使消息过期并整体消失的东西,但听起来用户可以选择保存。如果有一种方法可以自动删除消息,那也可以

这是我编码到消息 URL 中的信息:

0 投票
1 回答
181 浏览

swift - 检测 iMessage 扩展中的用户交互

我知道使用 iMessage 扩展程序,除非应用程序根据 Apple 的防止自动消息的政策检测到用户交互,否则无法发送消息。

但是,我有一个屏幕截图检测器,当用户对其进行屏幕截图时,它会自动发送一条消息。

当扩展程序已经打开,并且选择一条消息并将其截屏时,一切正常,因为在打开应用程序时存在先前的交互。

但是,如果您在没有打开扩展程序的情况下直接点击消息并对其进行截图,iMessage 将不会发送该消息。

我想知道两件事之一:

  1. 如何绕过并发送消息(不太可能工作)
  2. 如何在显示消息之前检查是否有交互

如果您有任何想法,请告诉我。

这是我很确定的错误。但是,我确实检查过并且主动对话不是零