[IOS]JSPatch
2016-07-05 17:24
169 查看
用途
修复线上出现的紧急crash,热更新例子
demo原理解读
在程序didFinishLaunch时候执行,[JPEngine startEngine],startEngine做了对解析js代码模块的定义,放在JSContext对象中,举个例子,defineClass:
对脚本对象做parse。使用scanner分析传参,解析className,suplerClass,Method逐个定位获取参数,通过oc-runtime修改对象类
获取热更新脚本,可以服务器动态下载,or本地加载
解析脚本,[JPEngine evaluateScript:script],这边会用正则匹配一下方法转换成_c("funcName"),然后用javascriptcore做evaluateScript
相关文章推荐
- iOS 为什么选择了OC
- iOS Core Data
- 使用workSpace 安装出现updating local specs repositories
- iOS如何清除xcode缓存和生成文件
- nagios配nrpe
- iOS 单例模式
- iOS中的代理和Block
- 关于runtime的基本认识
- iOS 瀑布流基本实现
- iOS 审核被拒绝惨痛经历收集 拒绝原因多种多样
- iOS 系统消息通知归纳
- iOS文件流操作类-NSFileHandle
- 写给那些招聘3--5年iOS工程师的人力及boss
- 左滑删除,iOScell设置
- iOS开发-SDWebImage源码解读
- iOS 屏幕旋转 强制旋转
- iOS后台持续定位并定时上传
- iOS Code Signing
- IOS 系统打电话事件的监听与状态获取
- Xcode7隐藏、更改状态栏