(若轉(zhuǎn)載,請告知本人并附上原文鏈接,謝謝)
? ? 最近接手了一個集成即時通訊功能的項目,用的是環(huán)信的SDK。用環(huán)信的接口可以快速實現(xiàn)即時通訊的很多功能。并且對官方demo稍加改動基本能夠滿足項目需求。真機(jī)測試時,發(fā)現(xiàn)圖片的轉(zhuǎn)發(fā),每次都是轉(zhuǎn)發(fā)失敗。我開始以為是我集成時有疏漏,逐行檢查代碼。發(fā)現(xiàn)并不是我的問題。從app store下載的官方demo同樣是轉(zhuǎn)發(fā)失?。?!坑我啊??!原因是ContactListSelectViewController這個控制器里無法正確獲取到想轉(zhuǎn)發(fā)的圖片的緩存地址。
修改如下圖:

ContactListSelectViewController.m
ContactListSelectViewController是取數(shù)據(jù),那么存數(shù)據(jù)要在ChatViewController控制器做存數(shù)據(jù)的操作。消息類型寫死為EMChatTypeChat,是因為,不論是存單聊界面轉(zhuǎn)發(fā),還是從群聊界面轉(zhuǎn)發(fā),都只能轉(zhuǎn)發(fā)給個人,所以這里寫死,目前沒有問題。
如下圖:

ChatViewController.m
上面一定要判斷一下消息體類型,只有消息體為圖片類型(EMMessageBodyTypeImage)才需要保存圖片本地。如果不做判斷的話,點擊氣泡馬上崩掉。
? ? 個人感覺雖然能解決圖片轉(zhuǎn)發(fā)的問題,但并不是最好的解決辦法,雖然對環(huán)信demo的代碼改動最少。有更好的辦法,歡迎在評論區(qū)交流。
(若轉(zhuǎn)載,請告知本人并附上原文鏈接,謝謝)