MKHotfix 1.0.1

MKHotfix 1.0.1

Milker维护。



MKHotfix 1.0.1

MKHotfix

Version

轻量级JS热修工具

安装

pod 'MKHotfix'
pod 'Aspects' 
  • Aspects库是其依赖库

示例

热修功能

  • 类函数 执行前/后添加切面函数和替换类函数
  • 实例 函数执行前/后添加切面函数和替换实例函数
  • 修改 类/实例 函数的入参和返回值
  • 执行 类/实例 函数

能力简介

fixInstanceMethodReplace("TestClass", "testIntInOut:", function(instance, originInvocation, originArguments) {
    /**
     * instance: 函数执行的实例
     * originInvocation: 原函数
     * originArguments: 原参数
     */
    /**
     * 可在此处进行修复逻辑的处理, originArguments[index], 取出原参数
     */
    console.log("testStringInOut args = " + originArguments);
    /// setInvocationParameter(originInvocation, $value, $index), 可更新函数入参
    setInvocationParameter(originInvocation, 4, 0);
    /// 更改入参后, 执行原函数, 拿到原函数返回结果
    var originRes = runInvocation(originInvocation);
    console.log("testStringInOut originRes = " + originRes);
    return originRes; /// 将结果返回到业务调用处
});

其他能力请在Demo中查看

.
├── MKHotfix
│   ├── Demo
│   │   ├── TestClass.h : 样例修复的目标类
│   │   └── TestClass.m
│   ├── MKViewController.h : 业务执行类
│   ├── MKViewController.m
└────── js
        └── hotfix.js : 修复脚本

下发热修脚本

  • 根据不同App版本和系统版本由服务器端下发
  • Bugly下发