博客介紹地址:戳這裡
建議使用真機測試。 如果遇到問題,大家可以直接在Issues提問,這樣大家都能看到,共同提高。
效果圖展示:
做了兩年IM相關工作了,去年是集成環信的SDK實現的IM功能,今年公司擁有自己的長連接服務器,於是從頭自己定協議然後一步步實現了IM的整體功能,基本把微信IM有關的內容都實現了。最近開始整理過去的一些知識,於是先從聊天框架下手,整理出這個簡易的聊天框架,方便大家學習交流。
由於作者的電腦環境被折騰壞了,不能安裝cocoapods來管理一些用到的三方,所以直接導入進了該框架,這一點大家不要學習。
該框架目前支持的消息類型:文本消息(包含表情),圖片消息,語音消息,視頻消息,文件消息(pdf,word,excel,ppt,png,html等格式)。
如果你想展示文件消息,你需要把文件拷貝到沙盒的/Library/Caches/Chat/File目錄下,由於我以前是從PC端發送文件到手機端進行的展示,所以目前只能你手動拷貝了。
項目中展示的視頻已經轉成了mp4類型,而且也經過了壓縮,語音也轉換成了amr格式,節省流量的同時,可以和安卓端兼容。
你能從該框架學習到什麼:
目前該框架這是初步,我還有好多功能沒有加入進去,後續會慢慢加入,包括:
更新日誌:
10月8日:添加了消息的拷貝、刪除、撤回功能,由於轉發功能需要用到數據庫所以我只添加了轉發的UI,等添加了數據庫後再完善。注意這裡的只有自己的消息並且是發送成功的消息才可以撤回,我這裡限制的是5分钟內的消息可以撤回,超過規定時間不允許撤回。
10月12日:添加了系統消息,當消息撤回的時候聊天界面上提示一條你撤回了一条消息的提示。當多人聊天的時候,如果一方撤回了一條消息,系統應該給你發送一條指令,根據這條指令你識別出是哪一條消息被撤回了,然後刪除這條消息,並且插入一條谁谁撤回了一条消息。
如果你在學習過程中有什麼問題可以和我留言,大家共同提高。如果該框架能幫助到你,歡迎star,你的關注是我最大的動力,謝謝!