背景
工作中自己负责IM功能的开发,平时对微信进行了不少研究学习。
这篇文章主要关注微信iOS客户端界面实现中的“聊天消息界面”实现。
写这篇文章的目的:
分享微信的聊天界面实现方式。
展示逆向主要流程。
PS: 最初是为了解决项目中的一个小问题才逆向的微信。
...
背景
聊天界面,有两种实现方法:
QQ的实现方式,也是大多数App的实现方式。每个类型的消息有各自不同的Cell,例如:TextCell,ImageCell等。
微信的实现方式。目前只知道微信这么干的。实现方式见这个文章。
这篇文章主要是讲第一种实现方式可能遇到的一个UI动画的小问题。
GitHub上有很多参考代码都是第一种实现方式(第二种没找到现成的代码),然而好多代码在实际应用时或多或少有些小问题。
...
逆向过程中命令太多记不住,就整理了这个速查表,分享给大家。我只是看完了小黄书《iOS应用逆向工程》,这几个月没有再深入研究逆向。最近又想逆向几个app学习下怎么实现,发现很多命令都忘记了。于是整理了这个表。copy and paste就可以愉快的学习其他app的实现了。
命令都很基础、简单、常用,主要是我也只学了这么多哈。
...
终于上线第一个App,简单总结。对这个App,自己也算是“全栈开发”了。
先上源码
此次开发过程主要有两个产出:
番茄阅读App:精选了一些iOS开发者博客的订阅。AppStore地址。
博客列表:按最后更新时间排序。每天自动刷新。
...
背景
去年写过一篇文章,里面讲了如何使用symbolicatecrash工具符号化崩溃信息。
当时基于这个方法,给公司的产品实现了一个自动符号化崩溃信息的小系统。
App获取崩溃信息后,打包上传到公司收集崩溃的服务器。
Python脚本定时获取崩溃,并在内网Jenkins服务器上找到对应版本的符号文件。
最后符号化后,汇总到数据库中。
Web方便查询,按模块、版本、堆栈等汇总。方便查找崩溃原因,及跟踪崩溃趋势。
...