All Projects → hilen → Tswechat

hilen / Tswechat

Licence: mit
A WeChat alternative. Written in Swift 5.

Programming Languages

swift
15916 projects
shell
77523 projects

Projects that are alternatives of or similar to Tswechat

Evreflection
Reflection based (Dictionary, CKRecord, NSManagedObject, Realm, JSON and XML) object mapping with extensions for Alamofire and Moya with RxSwift or ReactiveSwift
Stars: ✭ 954 (-74.03%)
Mutual labels:  rxswift, json, alamofire
Jetchat
 Swift5.0编写的简仿微信聊天应用,完美支持表情键盘、单聊、群聊、本地消息会话缓存。
Stars: ✭ 61 (-98.34%)
Mutual labels:  rxswift, keyboard, wechat
Moyasugar
🍯 Syntactic sugar for Moya
Stars: ✭ 165 (-95.51%)
Mutual labels:  rxswift, alamofire
Modernavplayer
ModernAVPlayer is a persistence AVPlayer wrapper
Stars: ✭ 179 (-95.13%)
Mutual labels:  rxswift, audio
RxStudy
RxSwift/RxCocoa框架,MVVM模式编写wanandroid客户端
Stars: ✭ 122 (-96.68%)
Mutual labels:  rxswift, project
Rxmarvel
Playing around marvel public API with RxSwift, Argo, Alamofire
Stars: ✭ 86 (-97.66%)
Mutual labels:  rxswift, alamofire
Rxalamofire
RxSwift wrapper around the elegant HTTP networking in Swift Alamofire
Stars: ✭ 1,503 (-59.09%)
Mutual labels:  rxswift, alamofire
awesome-demo-app
100% programmatically written in Swift. Clearly demonstrating the RxSwift, RxCocoa, RxRealm & SnapKit.
Stars: ✭ 16 (-99.56%)
Mutual labels:  rxswift, snapkit
WhatFilm
Simple iOS app using TMDb API and RxSwift
Stars: ✭ 35 (-99.05%)
Mutual labels:  rxswift, alamofire
mechanical-keyboard
⌨️ Resources related to my mechanical keyboard build.
Stars: ✭ 14 (-99.62%)
Mutual labels:  keyboard, project
Quranjson
Quran JSON ~ 6236 verses, 114 surah, 30 Juz
Stars: ✭ 278 (-92.43%)
Mutual labels:  json, audio
Rxkeyboard
Reactive Keyboard in iOS
Stars: ✭ 1,246 (-66.09%)
Mutual labels:  rxswift, keyboard
Simpleapiclient Ios
A configurable api client based on Alamofire4 and RxSwift4 for iOS
Stars: ✭ 68 (-98.15%)
Mutual labels:  rxswift, alamofire
Moyamapper
快速解析模型工具,支持RxSwift。同时支持缓存功能 【相关手册 https://MoyaMapper.github.io 】
Stars: ✭ 115 (-96.87%)
Mutual labels:  rxswift, json
Daisynet
1. - Alamofire与Cache封装 , 更容易存储请求数据. 2. - 封装Alamofire下载,使用更方便
Stars: ✭ 331 (-90.99%)
Mutual labels:  json, alamofire
Moya
Network abstraction layer written in Swift.
Stars: ✭ 13,607 (+270.36%)
Mutual labels:  rxswift, alamofire
Netclient Ios
Versatile HTTP Networking in Swift
Stars: ✭ 117 (-96.82%)
Mutual labels:  json, alamofire
Rxswiftexamples
Examples and resources for RxSwift.
Stars: ✭ 930 (-74.69%)
Mutual labels:  rxswift, alamofire
Moya-Gloss
Gloss bindings for Moya
Stars: ✭ 37 (-98.99%)
Mutual labels:  rxswift, alamofire
Serpent
A protocol to serialize Swift structs and classes for encoding and decoding.
Stars: ✭ 281 (-92.35%)
Mutual labels:  json, alamofire

TSWeChat

TSWeChat - A WeChat alternative, updated to Swift 5.       中文说明

Requirements

  • Cocoapods 1.2.0 +
  • iOS 10.0+ / Mac OS X 10.9+
  • Xcode 10.0+

Features

  • Send your rich text, expression, image and voice.
  • The cell image in TSChatImageCell is drawn by using Mask Layer . The chat background can be changed freely so that UI will look perfect.
  • Custom expression keyboard, custom tool keyboard.
  • Audio wav files can be automatically converted into amr files which facilite file transfer to Android devices. Both of the two type files have been doing cache.
  • When you tap the TSChatVoiceCell. It will automatically check the cache and download it by Alamofire.
  • When you send the image, it will be stored locally by using the caching mechanism of Kingfisher. After successfully uploaded, it will be automatically modified to image link's MD5 value file name.
  • The data are loaded from the JSON file. All the Models are created via ObjectMapper which is easy to convert model objects (classes and structs) from JSON.

Preview

Run pod install in the Terminal and then run TSWeChat.xcworkspace to see all the views.

Directory

Directory name Introduction
Classes To deposit different folders like ViewController, View. Sub directories are divided based on business logic, Such as Message,Address Book,Tabbar,Me,Login and etc, divided according to their functions.
Classes/CoreModule To deposit encapsulation of business logic of basic classes, like HttpManager, Models, ApplicationManager and etc.
General To deposit reused View and Class related with business logic, such as color extension.
Helpers Non-business logic extension, such as: UIView+Extension.swift, UIImage+Resize.swift and etc.
Macro To deposit macros and constant definitions used in the whole application, such as Notifications name , and the third party librarie's keys.
Resources Resources. Such as Assets.xcassets, Media.xcassets, JSON files, media files, plist files and etc.
Vendor To deposit the third party liabraries that cannot be installed by Cocoapods.
Supporting Files To deposit the original files
Scripts APNs script, export IPA file script and etc.
Sketch To deposit the original Sketch files. All the recourses in the project are come from the WeChat IPA folder, but some images I can't find. So I decided to do it myself. Yeah, I love design, sometimes coder become a designer is feeling good. XD

Vendor

See more details

License

TSWeChat is released under the MIT license. See LICENSE for details.

To Do

  • The custom photo album
  • WeChat custom ActionSheet
  • Long press the chat cell
  • The image viewer
  • Address book
  • GIF image cell in TSChatViewController
  • QRCodeViewController
  • ShakeViewController
  • Send my address
  • Video cell in TSChatViewController
  • TimelineViewController
  • Multilanguage support
  • And so on...

Contributing

  • All kinds of contributions (enhancements, new features, documentation & code improvements, issues & bugs reporting & todo task) are welcome. Let's make it better. XD
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].