使用jspatch进行热修复的实战总结】的更多相关文章

最近正式在线上项目中集成了jspatch进行热修复,这里做一个简单的总结. 工具篇: 首先,用xcode来编辑js非常困难,基本上没有缩进,完全需要手写:经过研究发现使用 Sublime text3 结合 jsformat 插件,可以很好的编辑js脚本. 一般来说,我们可以使用JSConvertor对js进行转换,然后在sublime text中进行编辑和格式化,通过xcode run代码来查看效果. 一次热修复实践中遇到的转换问题: 1. js是动态类型的语言,因此所有的类型转换代码全部需要删…
IOS产品开发中常常会遇到这种情况,线上发现一个严重bug,可能是一个crash,可能是一个功能无法使用,这时能做的只是赶紧修复Bug然后提交等待漫长的审核,即使申请加急也不会快到那里去,即使审核完了之后,还要盼望着用户快点升级,用户不升级还是在存在同样的漏洞,这样的情况让开发者付出了很大的成本才能完成Bug的修复. JSPath就是为了解决这样的问题而出现的,只需要在项目中引入极小的JSPatch引擎,就可以还用JavaScript语言调用Objective-C的原生API,动态更新APP,修…
今天和同事聊到JSPatch热修复,我们来看下JSPatch,确实解决了APP升级的痛点. 刚好,已经有这么一个第三方平台实现了后台管理,全套服务(网址是:http://jspatch.com/),先看一下关于JSPatch的介绍: JSPatch 是一个开源项目(Github链接),只需要在项目里引入极小的引擎文件,就可以使用 JavaScript 调用任何 Objective-C 的原生接口,替换任意 Objective-C 原生方法.目前主要用于下发 JS 脚本替换原生 Objective…
  接上篇<热修复JSPatch之接口设计>,在这篇文章主要给大家讲述一下怎样高速具备热修复能力,当然了假设有人有志于把JSPatch系统的学习,甚至用JSPatch进行开发的.就没有必要听我在这里啰嗦了. 简单了解下JSPatch语法   我这里仅仅介绍一些简单经常使用的. 1. require 在使用Objective-C类之前须要调用 require('className') : require('UIView') var view = UIView.alloc().init() 能够用…
当你的应用发布后第二天却发现一个重要的bug要修复,头疼的同时你可能想着赶紧修复重新打个包发布出去,让用户收到自动更新重新下载.但是万事皆有可能,万一隔一天又发现一个急需修复的bug呢?难道再次发布打扰用户一次? 这个时候就是热修复技术该登场的时候了,它可以让你在无需发布新版本的前提下修复小范围的问题.最近研究了下几个热修复的开源框架,其中Nuwa等框架的原理是修改了gradle的编译task流程,替换dex的方式来实现.但是可惜的是gradle plugin在1.5以后取消了predexdeb…
概述 一说到热修复,可能很多人会觉得应该很复杂,很难用(我以前是这么觉得的...),实际使用起来蛮简单的,这里以一个小demo演示热修复是如何修复崩溃的,具体更深入的用法,可以看这个https://github.com/bang590/JSPatch/wiki/JSPatch-%E5%9F%BA%E7%A1%80%E7%94%A8%E6%B3%95 实现原理:https://github.com/bang590/JSPatch/wiki/JSPatch-实现原理详解 使用 1.下载SDK 打开J…
本文为转载文章 . 版权归原文所有. 原文链接:iOS 5分钟集成热修复(JSPatch) 前言 在iOS中有很多种热修复方案,在这里我就不一一介绍了 这里有一篇介绍热修复的文章:iOS中的HotFix方案总结详解 我选择的热修复方案是JSPatch我觉得JSPatch的优点有: 非侵入式 上手快 相关服务成熟 上代码 大神可以看重点,如果是和我一样的菜鸡就可以按照博客一步一步做,最后一定会成功让JSPatch跑起来的 第一步:创建Demo,在ViewController里添加一个Label,声…
硬修复: 直接修改工程源码,重新发版: 冷修复: 打补丁包,使用动态库和hook技术,在程序启动时完成问题代码修复:案例:iOS逆向工程: 特征:不修改原始代码.补丁发布.目前不支持动态发布: 热修复: 可执行文件内直接继承热修复启动机制: 程序启动后热修复引擎动态检查家在补丁包,完成动态hook: 原理: 1.修复引擎包含更新检查: 2.消息重定向:将需要修改的功能和新添加的功能重定向到JPForwardInvocation: 在JPForwardInvocation中区别对待无修改和修改过的…
线上的BUG一直是程序员头疼的问题.有时候仅仅是因为几行的代码,就能让你的用户损失严重.谷歌在Android Studio 加入了Insttan Run 机制.通过Apk动态加载的技术实现了应用非安装而进行代码层的改变.之后QQ空间团队的补丁开始了热更新的浪潮.用户不需要通过手动操作,进行App的版本更新,极大的保障了用户对于产品的粘合度,对于开发者而言能使用到这项技术当然再好不过,市面上的热更新,热修复他们的叫称不同,功能相同只是支持的范围有所差别.目前可用的开放平台有腾讯的Tinker以及H…
ios 由于苹果的审核政策,一旦上线后发现bug是件让人崩溃的事情 不过可以利用oc的runtime机制可以家用JSPatch动态的为工程打热补丁 下载地址:https://github.com/agelessman/JSPatch.git 如果不用cocoapods导入的话,不需要修改,如果拖到工程的,需要改头文件, 例如: #import “abc.h” 在appdelegate中添加类似下边的方法,写一个本地的属性记录补丁的版本号,如果文件存在,再调用 - (void)hotfix { /…