JSQMessages:当我使用照片消息我的应用程序不断崩溃

问题描述:

我正在构建一个使用JSQMessagesViewController显示图像和Firebase作为后端的聊天应用程序。
但是,当我添加照片消息时,该应用程序仅在使用短信时不会崩溃。照片邮件已添加到收藏夹视图中,但是当我尝试添加照片邮件时,我的应用在finishSendingMessage()上崩溃。JSQMessages:当我使用照片消息我的应用程序不断崩溃

请帮助:)

Function

Error

Console

+0

为什么你在'addMediaMessage()'中调用'finishedRecivingMessageAnimated(true)',为什么不把你的函数调出来,这样在顶层就可以接受。这可能会帮助你。也只是在这里查看你的逻辑,我不认为你实际上是将媒体项目保存到firebase。您只保存'text'和'senderID'您的数据只被添加到您的本地消息实例中。 –

+0

嘿,这是什么问题? –

我经历了类似的问题,上述答案的帮助方法。我的问题是:

- >媒体消息添加(工作得很好) - >短信仅增加了此前有媒体消息(应用程序崩溃)

我发现我的问题在这段代码骗我的牢房在indexPath的项目

let message = messages[(indexPath as NSIndexPath).item] 
    if message.senderId == senderId { 
     cell.textView!.textColor = UIColor.white 
    } else { 
     cell.textView!.textColor = UIColor.black 
    } 

我刚刚注释掉了这段代码,现在一切正常。

1)所有第一交叉检查用户的senderId & SENDERNAME首先是不为零。

2)你也可以评论finishSendingMessage()行,你可以使用reloadMessage()这是在JSQMessages avialable,它会工作。

3)正如丹尼尔说,你不需要在函数内调用finishedRecivingMessageAnimated(true)。

有两种方法用于停止crash.The第一个是设置在viewdidload self.inputToolbar.contentView.leftBarButtonItem =此代码零 此代码隐藏图像附件按钮这是对的左侧消息视图。 另一种方式是实现该库提供了

override func didPressAccessoryButton(sender: UIButton!) { 
     print("imageTapped") 
    } 

也确保图像转换NSData的中