美文网首页
JSpatch初了解

JSpatch初了解

作者: CiceroLee | 来源:发表于2016-09-26 15:33 被阅读0次

        经常性的在原生开发App过程中会遇到因为需求的原因,有的模块会短时间需要变化,或者能够定制不同模版的开发,用原生代码实现限制比较多,而且出现突发问题之后很难快速更新产品。

        JSPatch诞生于2015年5月,可以使用JavaScript调用OC的原生接口,从而动态的植入代码替换旧的代码,以实现修复线上的bug。

        JSPatch项目在github上有项目托管,3000star。

一、JSPatch的实现原理

基础原理

Objective-C是动态语言,具有运行时的特性,该特性可以通过类名称和方法名的字符串获取该类和该方法,并实例化和调用。

Class class = NSClassFromString("UIViewController");

id viewController =[ [class alloc]init];

SEL selector =  NSSelectororFromString("viewDidload");

[viewController performSelector:selector];

也可以替换某个类的方法为新的实现:

static void newviewDidLoad(id self,SEL see){}

class_replaceMethod(class,selector,newViewDidLoad,@"")

还可以新注册一个类,为类添加新的方法

Class cls =  objc_allocateClassPair(superCls,"JPObject",0);

objc_registerClassPair(cls)

class_addmethod(cls,selector,implement,typedesc);

JavaScript的调用

再补充~

相关文章

  • JSpatch初了解

    经常性的在原生开发App过程中会遇到因为需求的原因,有的模块会短时间需要变化,或者能够定制不同模版的开发,...

  • iOS开发之JSPatch(转载)

    感谢以下文章提供者,前人种树,后人乘凉 1.JSPatch初尝JSPatch快速集成2.JSPatch 基础用法3...

  • JSPatch热修复

    今天写了一个jspatch的小demo,每一步都做了截图,如果不了解JSPatch,大家可自行百度。JSPatch...

  • [JSPatch] 初尝JSPatch快速集成

    JSPatch作为热更新技术的黑科技,已经不是什么前沿的新闻了,像腾讯、美团等大公司也在使用JSPatch。前段时...

  • JSPatch 浅探

    前言 JSPatch下载地址自己实现JSPatch的功能 修改JSPatch JSPatch简介 JSPatch ...

  • JSPatch使用 私有变量操作

    基本使用 ** JSPatch 官方平台 ** ** JSPatch 语法转换 ** JSPatch基本使用 JS...

  • JSPatch

    JSPatch http://jspatch.com/Index/reg

  • JSPatch 学习二 -- 基础用法(1)

    想要运用JSPatch这个框架,必须了解知晓的基础!!! 学习原文https://github.com/bang5...

  • JSPatch 基础用法

    原文: JSPatch 基础用法 JSPatch Platform 索引 Request 调用 OC 方法2.1 ...

  • 热修复

    JSPatch

网友评论

      本文标题:JSpatch初了解

      本文链接:https://www.haomeiwen.com/subject/jahqyttx.html