开不了口的猫

自律以自由

iOS的崩溃捕获方案

前言 在日常的开发过程中,程序崩溃一直是一个比较敏感的话题。如何更好的防护崩溃和避免崩溃更是每一个程序猿必备的技能之一。 Q:那么我们的项目中是否需要一套无比安全的Crash防护机制呢? 当然需要,但是不能在研发阶段。我认为研发阶段如果注入了crash防护机制会造成依赖心理,降低对崩溃风险的敏感度,并且对于很多数据导致的崩溃,一旦带到线上环境,数据发生了异常,发生了重大经济损失,这将会...

Apple系统日志捕获方案

前言 之前公司有个项目,需要跟工联对接微信支付和清算,对接过程中遇到了一个大坑。因为iOS版本的微信SDK有支付参数timestamp的类型为UInt32,也就是只支持十位,而工联给的时间戳是十三位的,这就导致两边生成的token秘钥不一致,导致最终不能调起支付页面。而我们封装的统一支付组件输出的支付日志在真机上也无法查看,只能真机连接Mac去调试,这在一定程度上影响了对接效率。还有一些诸如...

制作API日志阅读器

前言 当我们用手机连接Xcode或直接打开Xcode的模拟器进行API请求调试时,我们可以通过XcodeConsole实时查看输出的API日志来定位数据问题,自不必说,这算是iOS程序猿的常规操作。让我们想象另一个场景,在测试冒烟阶段我们拿到了一台测试真机,你被抱怨到xxx模块的业务数据显示异常,为了提高冒烟效率,测试并不会第一时间帮你通过抓包工具去定位接口数据异常的原因,此时,如果程序中能...

iOS Pretty-Format API日志打印

前言 每个公司的App项目都有对应的网络层封装,而API日志输出既可以作为封装层中的一个子功能,也可以作为一个独立的、不与网络层耦合的功能来设计。我个人更偏向于后者,因为它更符合当今流行的组件化思想趋势。 其实AFNetworking的作者mattt名下有一个开源库AFNetworkActivityLogger是专门帮助使用AFNetworking的开发者更快更好地完成API日志输出的功能...

Git Document阅读笔记

前言 引用Git Document中开篇提到的一句话,“大多数的GUI软件只实现了Git所有功能的一个子集以降低操作难度。如果你学会了在命令行下如何操作,那么你在操作GUI软件时应该也不会遇到什么困难,但是,反之则不成立。” 所以如果你还在使用诸如SourceTree一类的GUI工具,劝你早日舍弃,用更谦卑的姿态“拥抱”Git吧。 并且阅读Git的官方文档其实不仅仅是为了巩固那么几个常用的...