I take it that by sending a text you use:
override func didPressSendButton(button: UIButton!, withMessageText text: String!, senderId: String!, senderDisplayName: String!, date: NSDate!)
{
self.sendMessage(text, video: nil, picture: nil)
self.finishSendingMessage()
}
and that you have a function in the didFinishPickingMediaWithInfo function to save the image in base64 in Firebase, you can use the following code there to have the picture show up in a bubble, that said I combine all in a sendMessage function,but the following should help:
func imagePickerController(picker: UIImagePickerController, didFinishPickingMediaWithInfo info: [String : AnyObject])
{
let picture = info[UIImagePickerControllerEditedImage] as? UIImage
if (info[UIImagePickerControllerEditedImage] as? UIImage) != nil
{
let mediaItem = JSQPhotoMediaItem(image: nil)
mediaItem.appliesMediaViewMaskAsOutgoing = true
mediaItem.image = UIImage(data: UIImageJPEGRepresentation(picture, 0.5)!)
let sendMessage = JSQMessage(senderId: senderId, displayName: self.senderFullName, media: mediaItem)
self.messages.append(sendMessage)
self.finishSendingMessage()
}
picker.dismissViewControllerAnimated(true, completion: nil)
}
good luck (also you might want to look at not storing large images in Firebase, as it is not recommended)