微信Swift完整項目應用源碼


TSWeChat 中文說明

A WeChat alternative, written in Swift.

運行環境

預覽

在終端里面運行 pod install,然后運行TSWeChat.xcworkspace 來查看所有的 UI

特色

  • 可以發送富文本,表情,圖片還有聲音。
  • [backcolor=rgba(0, 0, 0, 0.0351563)]TSChatImageCell 中顯示的圖片使用 [backcolor=rgba(0, 0, 0, 0.0351563)]Mask Layer 進行繪制,你可以自由的切換聊天背景圖,這樣看上去 UI 也不會糟糕。
  • 自定義的表情鍵盤,自定義的工具鍵盤。
  • 錄音的 [backcolor=rgba(0, 0, 0, 0.0351563)]wav 文件會被自動轉換成 [backcolor=rgba(0, 0, 0, 0.0351563)]amr文件,這樣可以方便和 Android 設備進行文件傳輸。這兩種文件都已做了緩存。上傳使用 [backcolor=rgba(0, 0, 0, 0.0351563)]amr 文件,播放使用 [backcolor=rgba(0, 0, 0, 0.0351563)]wav 文件。
  • 當你點擊聲音 [backcolor=rgba(0, 0, 0, 0.0351563)]TSChatVoiceCell 的時候,它會自動檢測緩存,如果沒有那么會使用 Alamofire 自動進行下載。
  • 當你發送圖片的時候,系統會使用 Kingfisher 緩存機制存放在本地,上傳成功后會自動修改成圖片鏈接的 [backcolor=rgba(0, 0, 0, 0.0351563)]MD5 值文件名字。
  • 數據是從 [backcolor=rgba(0, 0, 0, 0.0351563)]JSON 文件里面加載來的, 所有的 [backcolor=rgba(0, 0, 0, 0.0351563)]Model 是使用 ObjectMapper 創建的。

文件目錄[td]

目錄名稱 介紹
Classes 主要存放項目中的不同業務的 [backcolor=rgba(0, 0, 0, 0.0351563)]ViewController[backcolor=rgba(0, 0, 0, 0.0351563)]View ,[backcolor=rgba(0, 0, 0, 0.0351563)]Model 等文件,子文件夾按照業務邏輯划分。比如按照功能划分有 [backcolor=rgba(0, 0, 0, 0.0351563)]Message,[backcolor=rgba(0, 0, 0, 0.0351563)]Address Book,[backcolor=rgba(0, 0, 0, 0.0351563)]Time,[backcolor=rgba(0, 0, 0, 0.0351563)]Me,[backcolor=rgba(0, 0, 0, 0.0351563)]Login 子目錄等
Classes/CoreModule 主要存放一些基礎類庫的業務邏輯的封裝,比如[backcolor=rgba(0, 0, 0, 0.0351563)]Network,[backcolor=rgba(0, 0, 0, 0.0351563)]Socket 引擎,[backcolor=rgba(0, 0, 0, 0.0351563)]Model文件夾
General 這個目錄放會被重用的 Views/Classes 和 Categories,存放[backcolor=rgba(0, 0, 0, 0.0351563)]和業務邏輯相關的 [backcolor=rgba(0, 0, 0, 0.0351563)]class,比如顏色的分類,
Helpers 存放一些非業務邏輯的類或者 category
Macro 存放整個應用會用到的宏定義,常量名等,比如 [backcolor=rgba(0, 0, 0, 0.0351563)]Notifications名稱,[backcolor=rgba(0, 0, 0, 0.0351563)]頁面 title 名稱,第三方庫所使用的 key 等
Resources 存放資源文件,包括[backcolor=rgba(0, 0, 0, 0.0351563)]Assets.xcassets,[backcolor=rgba(0, 0, 0, 0.0351563)]Media.xcassets[backcolor=rgba(0, 0, 0, 0.0351563)]音頻文件[backcolor=rgba(0, 0, 0, 0.0351563)]plist 文件 等
Vendor 存放一些第三方庫,盡量使用[backcolor=rgba(0, 0, 0, 0.0351563)]cocoapods來管理,萬不得已可以存放在這里
Supporting Files 項目原有的目錄
Scripts APNs 測試腳本, 導出 IPA 文件的腳本目錄,當然還有一些其他的,慢慢持續添加。
Sketch 存放一些圖片的 Sketch 源文件。項目工程中的所有資源文件都來自 微信的 IPA 文件夾, 但是有一些資源是沒有的或者沒有找到,於是我決定自己來做。體驗一下當設計師的感覺,2333




詳細說明:http://ios.662p.com/thread-2789-1-1.html


注意!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系我们删除。



 
粤ICP备14056181号  © 2014-2021 ITdaan.com