TSWeChat 中文說明
A WeChat alternative, written in Swift.
運行環境
- Cocoapods 0.39.0 +
- iOS 8.0+ / Mac OS X 10.9+
- Xcode 7.2+
- 源碼下載:http://code.662p.com/view/13219.html
預覽
在終端里面運行
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 |