即時通訊常用第三方庫(eg:微信)

發表於2016-05-12

自14畢業到現在,從事iOS即時通訊開發已經1年半之久。在這裡總結一下自己平時開發即時通訊類App常用的控制元件,以供大家參考。主要負責Allure開發,目前已上架,可以在蘋果商店搜素Allure。Allure模仿微信的互動和設計效果,已經實現微信的大部分功能。

1.聊天列表:

SWTableViewCellhttps://github.com/CEWendel/SWTableViewCell.git

備註:SWTableViewCell正常情況下隱藏右側按鈕的,向左滑動顯示cell右側的按鈕(類似於iOS 7郵件應用程式)。微信應用:聊天列表向左滑動,顯示標記未讀,刪除訊息按鈕。

2.文字訊息:

M80AttributedLabel: https://github.com/xiangwangfeng/M80AttributedLabel.git

備註:文字內容的訊息可以使用M80AttributedLabel,實現文字與表情的混排。一般使用氣泡作為背景。

3.語音:

VoiceConvert: http://code4app.com/ios/邊錄音邊轉碼/521c65d56803fab864000001

備註:iPhone裝置錄音為WAV格式,WAV格式檔案太大,不便於傳輸。使用VoiceConvert可以將WAV轉化為amr格式檔案進行傳輸,檔案大小被壓縮到之前檔案的10倍左右。當接受方接受訊息後需將amr檔案轉化為WAV檔案,進行播放。注:筆者實現語音功能時,使用的是VoiceConvert,而微信不是。

4.聊天文字輸入框:

HPGrowingTextViewhttps://github.com/yatinsns/HPGrowingTextView.git

備註:聊天輸入文字,可以根據輸入文字的多少自動改變輸入框的高度。

6.微信右上角的➕點選展示列表效果

DXPopoverhttps://github.com/xiekw2010/DXPopover.git

備註:感覺微信的效果點選➕號,展示列表,使用的就是frame的縮小動畫。筆者推薦的效果一定比微信的效果要好。

7.UUID、手勢密碼的儲存:

SSKeychainhttps://github.com/soffes/sskeychain.git

備註:使用keychain儲存關鍵資料,eg:UUID、手勢密碼等。當刷機、升級系統或者解除安裝應用時,UUID或手勢密碼依舊還儲存。蘋果推薦使用KeychainItemWrapper,但實際開發中並不是很好。筆者建議使用SSKeychain,方便易用。

8.廣告自動輪播:

HYBLoopScrollViewhttps://github.com/CoderJackyHuang/HYBLoopScrollView.git

備註:實現自動迴圈滾動,一般用於展示廣告頁。微信在貼紙宣傳處就使用了輪播。

9.資料庫:

FMDBhttps://github.com/ccgus/fmdb.git

備註:FMDB如此強大,啥也不說了。

10.圖片瀏覽器:

MWPhotoBrowserhttps://github.com/mwaterfall/MWPhotoBrowser.git

備註:圖片瀏覽器,微信朋友圈點選小圖,檢視大圖的效果。

11.Tinder、探探等翻牌子

MDCSwipeToChooseViewhttps://github.com/modocache/MDCSwipeToChoose.git

備註:Tinder、探探等翻牌子效果

12.重新整理

MJRefreshhttps://github.com/CoderMJLee/MJRefresh.git

備註:MJRefresh有李明傑大神的開源之作,其他的自不用說。不過筆者根據基於MJRefresh重新定製了一個可以修改顏色的loading菊花(https://github.com/jiulin/MJRefresh.git)

13.AFNetworking: https://github.com/AFNetworking/AFNetworking.git

等等。。。。

如在即時通訊方面需要幫助,聯絡QQ:983202699

或者關注微博私信:http://weibo.com/490jiulin/home?wvr=5

相關文章