热修复JSPatch之实战教程
接上篇《热修复JSPatch之接口设计》,在这篇文章主要给大家讲述一下怎样高速具备热修复能力,当然了假设有人有志于把JSPatch系统的学习,甚至用JSPatch进行开发的。就没有必要听我在这里啰嗦了。
简单了解下JSPatch语法
我这里仅仅介绍一些简单经常使用的。
1. require
在使用Objective-C类之前须要调用 require('className’) :
require('UIView')
var view = UIView.alloc().init()
能够用逗号 , 分隔,一次性导入多个类:
require('UIView, UIColor')
var view = UIView.alloc().init()
var red = UIColor.redColor()
或者直接在使用时才调用 require() :
require('UIView').alloc().init()
2. 调用OC方法
调用类方法
var redColor = UIColor.redColor();
调用实例方法
var view = UIView.alloc().init();
view.setNeedsLayout();
參数传递
跟在OC一样传递參数:
var view = UIView.alloc().init();
var superView = UIView.alloc().init()
superView.addSubview(view)
Property
获取/改动 Property 等于调用这个 Property 的 getter / setter 方法。获取时记得加 ():
view.setBackgroundColor(redColor);
var bgColor = view.backgroundColor();
方法名转换
多參数方法名使用 _ 分隔:
var indexPath = require('NSIndexPath').indexPathForRow_inSection(0, 1);
若原 OC 方法名里包括下划线 _,在 JS 使用双下划线 __ 取代:
// Obj-C: [JPObject _privateMethod];
JPObject.__privateMethod()
3.defineClass
API
qqqq defineClass(classDeclaration, instanceMethods, classMethods)
@param classDeclaration: 字符串,类名/父类名和Protocol
@param instanceMethods: 要加入或覆盖的实例方法
@param classMethods: 要加入或覆盖的类方法
在使用的过程中发现property属性命名,方法命名要严格依照驼峰式命名,禁止在属性名,或者方法名中间使用下划线'_' 此处要格外注意哦,血的教训积累出来的经验。假设使用了。会造成无法修复
假设想查看完整的教程能够点击查看
在实践的过程中发现,大部分人对于js方法不是非常熟悉,写起来非常慢,给大家找到了转换的站点转换站点地址
当然,转换后,我们是不能直接拿来用的,还是用非常多的问题。比方宏定义无法使用,相关方法转换错误,js语法错误等等,我们能够使用以下的一个站点来进行js语法校验 js校验网址
通过上面的转换。校验。我们開始尝试在本地修复我们的bug。假设能够修复,并经过測试后,我们就能够上传我们的热修复脚本了。感兴趣的小伙伴能够尝试一下哦。以下是我写的一个小demo。 JSPatch修复demo
热修复JSPatch之实战教程的更多相关文章
- Tinker 热修复框架 简单上手教程
当你们看到Tinker的时候是不是有点愣逼这个是什么东西? 简单来说就是不需要重新下载app和重新安装app 来进行更新app的技术框架. 看看这个吧,我也是才学习 ,先做个学习记录 参考:Tinke ...
- Android热修复之AndFix使用教程
AndFix的github地址 AndFix 全称Android hot-fix,是alibaba的Android热修复框架,支持Android 2.3到6.0的版本,支持arm与X86系统架构,支持 ...
- 《android基于andFix的热修复方案》实战篇
有篇文章说的比较简洁,大家可以参考下:AndFix使用说明 下面说说实际使用中遇到的问题 1:如何继承到gradle项目中 dependencies { compile 'com.alipay.eul ...
- 关于iOS 热更新(热修复)你必须知道的一种方法- JSPatch
本文为转载文章 . 版权归原文所有. 原文链接:iOS 5分钟集成热修复(JSPatch) 前言 在iOS中有很多种热修复方案,在这里我就不一一介绍了 这里有一篇介绍热修复的文章:iOS中的HotFi ...
- 使用jspatch进行热修复的实战总结
最近正式在线上项目中集成了jspatch进行热修复,这里做一个简单的总结. 工具篇: 首先,用xcode来编辑js非常困难,基本上没有缩进,完全需要手写:经过研究发现使用 Sublime text3 ...
- AndFix热修复 —— 实战与源码解析
当你的应用发布后第二天却发现一个重要的bug要修复,头疼的同时你可能想着赶紧修复重新打个包发布出去,让用户收到自动更新重新下载.但是万事皆有可能,万一隔一天又发现一个急需修复的bug呢?难道再次发布打 ...
- 关于JSPatch热修复
今天和同事聊到JSPatch热修复,我们来看下JSPatch,确实解决了APP升级的痛点. 刚好,已经有这么一个第三方平台实现了后台管理,全套服务(网址是:http://jspatch.com/),先 ...
- iOS JSPatch 热修复使用
概述 一说到热修复,可能很多人会觉得应该很复杂,很难用(我以前是这么觉得的...),实际使用起来蛮简单的,这里以一个小demo演示热修复是如何修复崩溃的,具体更深入的用法,可以看这个https://g ...
- 热修复技术沉思:jspatch
硬修复: 直接修改工程源码,重新发版: 冷修复: 打补丁包,使用动态库和hook技术,在程序启动时完成问题代码修复:案例:iOS逆向工程: 特征:不修改原始代码.补丁发布.目前不支持动态发布: 热修复 ...
随机推荐
- Django day06 模版层(一) 变量和深度查询
一.模版语法之变量: 1 - {{ 变量 }} ******重要*******{#这个相当于print了该变量#} def index(request): name = 'prince' #字符串 ...
- ArrayList 源码
1.ArrayList的类关系: 2.属性及方法 2.1 构造 三个构造方法分别对应: 通过传入初始化容器大小构造数组列表 ...
- openMSP430之Custom linker script
The use of the -mmcu switch is of course NOT mandatory. It is simply a convenient way to use the pre ...
- hadoop单机环境配置
1.配置一台linux服务器(当前使用CentOS7)及一些基本设置 1.1在wmware下制作一台centos服务器(桥接模式) 并设置静态ip (编辑/etc/sysmconfig ...
- AI.框架理论.语义网.语言间距.孤单
刷个博客,转载自于科学网:AI.框架理论.语义网.语言间距.孤单 一:引言: AI几乎是计算机科学家的梦想,自动化比计算机发展的要早的多.早期的自动化节省了大量人力,激发了人类懒惰的滋长和对自身进化缓 ...
- git解决内容冲突
内容冲突的冲突处理 两个用户修改了同一个文件的同一块区域,git会报告内容冲突. 解决办法:打开发生冲突的文件,会发现 <<<<<<< HEADtest in ...
- c# 读取 XML
XmlDocument xmldoc = new XmlDocument(); string xmlPath = HttpContext.Server.MapPath("~/*****.xm ...
- ASP.NE 上传文件控件
protected void Button1_Click(object sender, EventArgs e) { //if (Request["id"]==null & ...
- 【转】Linux rpm 命令参数使用详解[介绍和应用]
RPM是RedHat Package Manager(RedHat软件包管理工具)类似Windows里面的“添加/删除程序” rpm 执行安装包二进制包(Binary)以及源代码包(Source)两种 ...
- Codeforces Round #548 (Div. 2) C. Edgy Trees
You are given a tree (a connected undirected graph without cycles) of