热修复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逆向工程: 特征:不修改原始代码.补丁发布.目前不支持动态发布: 热修复 ...
随机推荐
- PHP CURL抓取网页 simple_html_dom类
抓取网页数据后 数据录入到discuz中 <?php include('simple_html_dom.php'); function urlText(){ $url = 'http://www ...
- Laravel5.1学习笔记8 Blade模板
简介 模板继承 定义一个页面布局模板 扩展一个页面布局模板 展示数据 控制语法的结构 Service Injection 扩展 Blade 简介 Blade 是 Laravel 提供的一个既简单又 ...
- 【Android】实例 忐忑的精灵
在Android Studio中创建项目,名称为“Animation And Multimedia”,然后在该项目中创建一个Module,名称为“Frame-By-Frame Animation”.在 ...
- jsp连接MySQL实现登录
1.下载驱动,并把jar包放到Tomcat的lib目录下 下载连接 2.把jar包添加到项目中 3.登录页面 <%@ page language="java" content ...
- Android studio 添加引用新建类库
1.新建一个工程包 2.修改AndroidManifest.xml 将AndroidManifest.xml 修改为 <manifest xmlns:android="http://s ...
- 【Linux】计划任务管理crontab、at
一.计划任务管理 —— crontab 1. crontab 命令 • 按照预先设置的时间周期(分钟.小时.天…… )重复执行用户指定的命令操作,属于周期性计划任务,默认打开“/var/spool/ ...
- The as! Operator
Prior to Swift 1.2, the as operator could be used to carry out two different kinds of conversion, de ...
- http 请求头示例
POST /3-0/app/account/item HTTP/1.1 Host 10.100.138.32:8046 Content-Type application/json Accept-E ...
- MVC 返回404,返回图片,流到数组,apk信息
return HttpNotFound(); byte[] buffer0 = QRCode(); return File(buffer0, @"image/jpeg"); // ...
- 完全掌握vuex
公司项目中大量的使用了vue,感觉对vue知识的掌握也越来越熟练了,录制视频教程也让我受益匪浅,自己成长的同时,我更希望帮助其他前端小伙伴一起成长.这篇文章我们主要讲解vuex. vuex是一个专门为 ...