存档

‘iOS测试’ 分类的存档

JS Patch的热加载

2016年4月14日 吴颖敏 没有评论

目前有的一些动态补丁方案,例如 WaxPatch等。相对于WaxPatch, JSPatch的优势是更符合Apple的规则,通过JavaScriptCore.framework执行。 JSPatch 使用系统内置的JavaScriptCore.framework,无需内嵌脚本引擎,体积小巧。 SPatch可以动态打补丁,自由修改APP里的代码,理论上还可以完全用JSPatch实现一个业务模块,甚至整个APP,跟wax一样,但考虑以下两点不推荐这么做。 1. JSPatch和wax存在
................Read More

iOS中利用AOP实现log机制

2015年9月11日 吴颖敏 没有评论

之前同事peng分享了iOS的log实现,这里重新记录下,非常不错的思路,让人不禁思考是否可以实现rollout.io的类似功能。 Method Swizzling 称为Objective-C Runtime 的黑技巧但是却很好的满足很多logging, performance monitor, cache等不同方面的需求。 iOS Runtime 时每个类里都有一个 Dispatch Table ,将方法的名字(SEL)跟方法的实现(IMP,指向 C 函数的指针)一一对应。Swizzle 一个方
................Read More