Charleo85 / WuChat

An alternative WeChat mobile client. Written in Swift.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

WuChat - An alternative WeChat mobile client. Written in Swift 2.3.

Requirements

  • Cocoapods 1.0.0 +
  • iOS 8.0+ / Mac OS X 10.9+
  • Xcode 8

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 objecWu (classes and structs) from JSON.

Preview

Run pod install in the Terminal and then run WuWeChat.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

To Do

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

##Acknowledgement

About

An alternative WeChat mobile client. Written in Swift.

License:MIT License


Languages

Language:Swift 98.2%Language:Shell 1.0%Language:PHP 0.5%Language:Ruby 0.2%Language:Objective-C 0.1%