问题
在iOS 10.2上
仅在第一次选择一条消息时才调用didSelect(),而第二次选择同一条消息时(第一次选择发生后立即),则不会调用didSelect()。例如:
来自苹果的词
func didSelect(MSMessage,对话:MSConversation)
在系统更新对话的selectedMessage属性后调用,以响应用户在脚本中选择消息对象。
我的想法
当我们第二次单击该消息时,似乎selectedMessage没有更新(因为它已经在第一次单击中设置了),因此没有调用didSelect()。
问题
最佳答案
恐怕这是一个错误,有一个open radar for that(或者考虑到自问题提交以来经过了多长时间,它是“通过设计”完成的)。
但是,当选择了message时,iMessage的扩展程序试图移至扩展模式并调用willTransition(to presentationStyle:)
委托方法(该方法似乎是another bug或设计很酷的东西)。通过检查扩展控制器是否已经显示并调整自定义标志,您可以做到这一点,尽管在某些情况下它并不可靠。