问题标签 [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.
ios - MSMessagesAppViewController 没有正确调用 didSelect()?
问题
在 iOS 10.2 上
didSelect() 仅在第一次选择消息时调用,而不是第二次选择相同的消息(在第一次选择发生后)。例如:
- 在我的消息应用程序处于活动状态时单击收到的 MSMessage Message_A,didSelect() 方法被正确调用并且应用程序转换到扩展视图。
- 单击向下箭头可将应用程序恢复为压缩视图。
- 再次单击相同的消息 - Message_A,这次没有触发 didSelect()。
苹果的话
func didSelect(MSMessage,对话:MSConversation)
在系统更新对话的 selectedMessage 属性以响应用户在脚本中选择消息对象后调用。
我的想法
当我们第二次单击该消息时,似乎 selectedMessage 没有更新(因为它已经在第一次单击中设置),因此没有调用 didSelect() 。
问题
- 我做错了吗?
- 只要发生选择,有没有办法解决并调用 didSelect() ?selectedMessage 是只读的...
- 或者有没有办法让消息在用户打开(点击)消息后立即从对话中过期(消失)?
ios - MSMessage message.senderParticipantIdentifier.uuidString 未转换为名称
我正处于 iMessage 扩展程序的最后阶段,并且有一个最后一个挥之不去的问题,我认为这是模拟器的问题,但现在我的应用程序在测试设备上运行,它本身并没有解决。
当我创建消息标题时,以下代码可将 partipipantIdentifer 更改为他们的名称:
但是,在收件人末尾查看邮件时,此代码:
不显示发件人姓名,只显示他们的 UUID 字符串。将发件人 UUID 转换为他们的名字我缺少什么?有谁知道这是否可能?
谢谢
ios - iMessage - 检测何时点击 MSMessage
我正在开发一个 iMessage 扩展程序,可以在其中浏览内容。选择一个后,它作为 MSMessage 发送。当用户在发送后点击 MSMessage 气泡时,我正在尝试显示图像预览。
我希望用来检测水龙头,但只有在 selectedMessage更改func didSelect(MSMessage, conversation: MSConversation)
时才会调用此方法。这将在第一次工作,但如果用户再次选择相同的消息,我还没有找到一种方法来区分消息选择与点击“显示扩展视图”按钮。
谁能想到一个解决方法?
ios - 从 MSConversation 访问以前的 MSMessage
如果我在 iMessage 应用程序中发送了几条消息,并且我想访问以前的消息(显然只是我自己的应用程序创建的消息,而不仅仅是用户在他们的对话中发送的任何消息),有没有办法可以做到这一点?
我可以通过以下方式访问最新消息:
[self activeConversation].selectedMessage;
任何方式来遍历用户可能从未点击过的先前消息(因此,不能简单地将其存储在用户默认值中)
ios - 使用 Swift 在 iMessage 中发送多条消息
我正在为 iMessage 编写一个应用程序,并希望在用户点击 imessage 应用程序屏幕时自动发送消息。
该消息由位置地址的地图组成。
最初,我曾尝试使用 message.url 来包含 maps.apple.com url,这样当接收者点击收到的消息时,它会打开地图。
但这似乎不起作用。所以我尝试单独发送地址:首先是图像,然后是地址。然后接收者可以点击地址并打开地图。
我有以下代码:
理想情况下,我希望它只需要初始点击,但使用“send”和“sendText”只发送第一个“send”指令,“sendText”被忽略。
如果我使用注释掉的“insert”和“insertText”,那么两条指令都会执行,但我必须点击“send”才能发送它。
我努力了:
但这没有用。只发送了文本。图像根本不显示。
有谁知道如何一键发送两条消息?
或者,有谁知道我是否可以将两条消息合二为一?
xcode - 从 iMessage 扩展应用程序的第二视图使用 MSMessage 发送消息
我设计了一个 iMessage 扩展应用程序,其中初始/第一个视图有一个“输入”按钮,当我们单击“输入”时,它会打开第二个视图,其中还有一个“发送”按钮。单击“发送”时,我想使用 MSMessage 发送消息。我按下“发送”时的代码是:
但是当我单击“发送”时,没有执行任何操作。当我将相同的代码粘贴到按下的“输入”按钮中时,它工作正常。有没有办法让这个代码即使从第二个视图也能工作,即在我按下“发送”按钮的情况下?
ios - 如何在 MSMessage 中嵌入 URL?
目前能够将图像附加到MSMessage
. MSMessage
还设置使用的url,MSMessage.url
如下所示。
但是,当收件人点击消息时,该 URL 不会在 Safari 浏览器中打开。相反,应用商店打开了。
ios - 快速编辑 MSMessage URL 数据
主要问题 - 如何检查收件人是否已打开 MSMessage?
我有一个 iMessage 扩展,用户可以在其中向收件人发送 MSMessage。收到消息后,收件人应该能够打开它并阅读发件人发送的内容(从 URL 中提取消息)。
但是,在阅读一次之后(意味着在扩展关闭时),从那时起打开的消息会告诉他们他们已经阅读了该消息。
如何保存信息(很可能在 URL 中)以便应用程序可以查看它是否已经被收件人打开过一次?
需要考虑的事情:我看到了一些关于能够使消息过期并整体消失的东西,但听起来用户可以选择保存。如果有一种方法可以自动删除消息,那也可以
这是我编码到消息 URL 中的信息:
swift - 检测 iMessage 扩展中的用户交互
我知道使用 iMessage 扩展程序,除非应用程序根据 Apple 的防止自动消息的政策检测到用户交互,否则无法发送消息。
但是,我有一个屏幕截图检测器,当用户对其进行屏幕截图时,它会自动发送一条消息。
当扩展程序已经打开,并且选择一条消息并将其截屏时,一切正常,因为在打开应用程序时存在先前的交互。
但是,如果您在没有打开扩展程序的情况下直接点击消息并对其进行截图,iMessage 将不会发送该消息。
我想知道两件事之一:
- 如何绕过并发送消息(不太可能工作)
- 如何在显示消息之前检查是否有交互
如果您有任何想法,请告诉我。
这是我很确定的错误。但是,我确实检查过并且主动对话不是零