我下拉视频动态
module.微信下拉小程序
module.微信/通讯录搜索
module.通讯录
module.pod install
is very long or has problems, please click on the Baidu network disk link: Link: https://pan.baidu.com/s/1EoWYduzjS29Sqr5LiF6_Vg Password: qmrr<PS: Updated from time to time! ! ! > This project mainly uses MVVM + RAC + ViewModel-Based Navigation
to build the overall architecture of WeChat (WeChat 7.0.0+). It is hoped that it can provide more details for the design architecture of MVVM + RAC + ViewModel-Based Navigation
This kind of practical reference also provides a learning demo for everyone learning MVVM
.
This project is completely written in Objective-C
language, using two control layout methods of Masonry
and Xib
; cocoapods
is used to manage third-party libraries. Of course, some of them involve manual import when the UI of third-party libraries needs to be adjusted; material resources In the future, like WeChat, we will gradually use .svg
format image resources to replace the previous .png
resources to reduce the package size.
The author hopes that beginners can open the door to learning ReactiveCocoa
by learning and practicing this project. Of course, at the same time, it is also a way to draw out ideas and learn from each other's strengths. I hope it can provide some ideas, avoid some detours, fill in some small holes, and gain the joy of sharing technology in the process of helping others.
The later UI design will be developed completely with reference to the latest微信(7.0.0+)
. However, due to the author's limited time, part of the UI of this project is still the UI of微信(7.0.0-)
. Please do not panic. Please ask Star
or Fork
, thank you.
If you want to review the version before微信(7.0.0-)
, please pull the code of Tag:v1.0.0
branch. The author will help you find your memories, but I hope you can pull the latest code of master
as much as possible. After all,往者不可谏,来者犹可追
.
This project was mainly used for internal communication within the team. It describes the use of MVVM + RAC + ViewModel-Based Navigation
to develop an application. It introduces the usage skills and practical technologies, as well as some details. It is mainly practical and has the following functions. auxiliary.
Because 2019年初--至今
, the author was forced to transfer to Vue
development in order to survive. The veteran will not die, but will gradually wither, so that this Repo
has gradually been left out (PS: Maybe there is no Star, no motivation, haha... ), Later, we will complete the main functions of WeChat and try our best to restore the real WeChat.
✅ Login/Register/Logout (ps: UI has not been adapted yet, the logic is normal)
✅ Me
✅ Discover
✅ Address book
✅ Search
WeChat homepage (TODO...)
Cocoapods installation tutorial
This Demo
uses Cocoapods
to manage third-party frameworks. If you are using this project for the first time, please use the terminal cd
to the folder where Podfile
is located, as shown in the figure below, and then execute the following two commands. (PS: If you have updated If you already have a local warehouse, you don’t need to execute pod repo update
, just pod install
directly).
1. pod repo update 或 pod repo update --verbose : 更新本地仓库
2. pod install : 下载新的库
If you upgrade your Mac system, and when your Mac system is upgraded to high sierra
, don't forget to update cocoapods
. The execution command is:
$ sudo gem update --system
$ sudo gem install cocoapods -n/usr/local/bin
Login or registration for this project only supports login or registration with QQ账号
and手机号
. The validity of QQ
or手机号
must be ensured. You can enter the password or verification code at will, but it must be: the password length needs to be between 8~16
digits, and the mobile phone verification code must be 6位有效数字
.
branching strategy
master: 各个功能完整,且稳定,出现Bug优先处理
dev: 笔者的开发分支,意识流且不稳定,但知识或技术会超前 master 分支,还请按需加载。
star
button in the upper right corner, thank you;GitHub | nuggets | Simple book | CSDN | Zhihu |
---|---|---|---|---|
Click to enter | Click to enter | Click to enter | Click to enter | Click to enter |
Waiting for a vacant position | Waiting for a vacant position | Waiting for a vacant position |
---|
Waiting for a vacant position | Waiting for a vacant position |
---|
Waiting for a vacant position | Waiting for a vacant position | Waiting for a vacant position |
---|
Waiting for a vacant position | Waiting for a vacant position |
---|
Waiting for a vacant position | Waiting for a vacant position | Waiting for a vacant position |
---|