iOS热更新实现方式

苹果静止热更新,可惜我的是企业app,没有这些约束了,随便用。(当然有些热更新已经可以通过苹果审核了,比如JSPatch)官网说的: JSPatch 平台 SDK 1.7.2 以上版本可以通过苹果审核,可以正常使用。Github 开源版本暂不可用。
最近公司要添加热修复BUG,其实早之前本人就有简单实现过,刚好契合公司需求,在此总结一下iOS热更新实现方式
这个是我根据JSPatch写的一个Demo:https://github.com/tikeyc/TJSPatchDemo
这是Android热更新实现方式
一、JSPatch
http://www.jspatch.com/
https://github.com/bang590/JSPatch
热更新时,从服务器拉去js脚本。理论上可以修改和新建所有的模块,但是不建议这样做。
建议用来做紧急的小需求和 修复严重的线上bug。
官网说: JSPatch 平台 SDK 1.7.2 以上版本可以通过苹果审核,可以正常使用。Github 开源版本暂不可用
二、lua脚本
比如:wax。热更新时,从服务器拉去lua脚本,游戏开发经常用到。
三、Weex
http://weex.apache.org/cn/
https://github.com/apache/incubator-weex/
https://github.com/apache/incubator-weex/
跨平台,一套代码,iOS、Android都可以运行。用前端语法实现原生效果。比React Native更好用。
weex基于vue.js,ReactNative使用React。
ReactNative安装配置麻烦。 weex安装cli之后就可以使用。
react模板JSX有一定的学习成本,vue和常用的web开发类似,模板是普通的html,
数据绑定用mustache风格,样式直接使用css。
四、React Native
不像Weex能一套代码多端运行,需要自己分别做修改。
React Native 可以动态添加业务模块,但无法做到修改原生OC代码。
JSPatch、lua 配合React Native可以让一个原生APP时刻处于可扩展可修改的状态。
五、Hybrid
像PhoneGap之类的框架, 基本概念和web差不多, 通过更新js/html来实现动态化,没有原生的效果流畅。
六、动态库
可以做demo用,真实使用的时候会被苹果禁止。
因为 打包发到AppStore的ipa安装包 里的每个动态库 都有唯一的编码,iOS系统会进行验证,所以动态通过网络获取 新的动态库 也用不了。
七、rollout.io
Rollout紧急修复线上bug。后端有相关的管理页面。因为是国外的网站,然后呢,要FQ才能使用。
八、DynamicCocoa
https://github.com/DynamicCocoa/DynamicCocoa
滴滴iOS的一个框架,还没开源已经有1K+star和许多issue了,与JSPatch比更加智能化,用OC在XCode中写完代码,用工具可以自动生成可以更新的js文件。
iOS热更新实现方式的更多相关文章
- Unity应用的iOS热更新
Unity应用的iOS热更新 作者:丁治宇 Unity TechnologiesChina Agenda • 什么是热更新 • 为何要热更新 • 如何在iOS 上对Unity 应用进行热更新 • ...
- iOS 热更新方案 - lance的专栏 - 博客频道 - CSDN.NET
iOS 热更新方案 - lance的专栏 - 博客频道 - CSDN.NET Weex
- 有关iOS热更新
iOS热更新的几篇文章,看完这几篇,自己集成一下.下面说一下我集成时遇到的问题. 这是原作者的JSPatch的讲解的文章:<JSPatch – 动态更新iOS APP>.<JSPat ...
- iOS热更新-8种实现方式
一.JSPatch 热更新时,从服务器拉去js脚本.理论上可以修改和新建所有的模块,但是不建议这样做. 建议 用来做紧急的小需求和 修复严重的线上bug. 二.lua脚本 比如: wax.热更新时,从 ...
- IOS热更新-JSPatch实现原理+Patch现场恢复
关于HotfixPatch 在IOS开发领域,由于Apple严格的审核标准和低效率,IOS应用的发版速度极慢,稍微大型的app发版基本上都在一个月以上,所以代码热更新(HotfixPatch)对于IO ...
- iOS热更新技术被苹果官方警告?涉及到RN、Weex、JSPatch
本文为转载文章 故事背景: 这两天,不少iOS开发群都炸窝了,原因是部分iOS开发者收到了苹果的警告邮件: 有开发者质疑可能是项目中使用了JSPatch.weex以及ReactNative等热更新技术 ...
- iOS热更新技术被苹果官方警告?涉及到RN、Weex、JSPatch!!!
今天一早,不少iOS开发群都炸窝了,原因是部分iOS开发者收到了苹果的警告邮件: 有开发者质疑可能是项目中使用了JSPatch.weex以及ReactNative等热更新技术.对于修复bug提交审核的 ...
- 关于iOS 热更新(热修复)你必须知道的一种方法- JSPatch
本文为转载文章 . 版权归原文所有. 原文链接:iOS 5分钟集成热修复(JSPatch) 前言 在iOS中有很多种热修复方案,在这里我就不一一介绍了 这里有一篇介绍热修复的文章:iOS中的HotFi ...
- iOS 热更新插件
1.JSPatch 平台 http://jspatch.com/Docs/intro 2.React Native 中文文档 http://wiki.jikexueyuan.com/project/r ...
随机推荐
- ES6深入浅出-2 新版函数:箭头函数 2 视频-2.视频 箭头函数杂谈
杂谈coffeescript 箭头函数抄的是谁? coffeescript 双箭头的形式 箭头函数简洁的语法 数组内每一个值都平方一下 Map的写法 箭头函数的写法 平方后,每一个值再加1 numbe ...
- OpenStack Heat模板内部函数
Heat模板内部函数又称为Intrinsic functions. 注:Intrinsic functions只能用在 resource 的 properties 段 和 outputs 中. ...
- PAT 甲级 1032 Sharing (25 分)(结构体模拟链表,结构体的赋值是深拷贝)
1032 Sharing (25 分) To store English words, one method is to use linked lists and store a word let ...
- PPT做交互效果
1 做交互效果(点击一个按钮,弹出某个框或者跳转到某个页面)其实就是若干个PPT页面,利用给按钮增加超链接或者动作 达到点击一个按钮 跳转到另外一个PPT的效果. 2 选择一个形状组件(或者其他组件) ...
- Windows 7下安装MySQL Server卡在Apply Security Settings的解决方案(转)
如果操作无效,请卸载MySQL Server后换一个位置安装 例如默认的是C:\Program Files\MySQL 安装时选Custom修改到D:\Program Files\MySQL试试 == ...
- 将Python的Django框架与认证系统整合的方法
将Python的Django框架与认证系统整合的方法 这篇文章主要介绍了将Python的Django框架与认证系统整合的方法,包括指定认证后台和编写认证后台等内容,需要的朋友可以参考下 将Django ...
- (十二)class文件结构:魔数和版本
一.java体系结构 二.class格式文件概述 class文件是一种8位字节的二进制流文件, 各个数据项按顺序紧密的从前向后排列, 相邻的项之间没有间隙, 这样可以使得class文件非常紧凑, 体积 ...
- js 高级程序设计 第四章学习笔记
问题:怎么才能形象的理解堆栈空间? 1. 声明变量 使用 var 声明的变量会自动被添加到最接近的环境中.在函数内部,最接近的环境就是函数的局部 环境:在 with 语句中,最接近的环境是函数环境.如 ...
- 【ARTS】01_33_左耳听风-201900624~201900630
ARTS: Algrothm: leetcode算法题目 Review: 阅读并且点评一篇英文技术文章 Tip/Techni: 学习一个技术技巧 Share: 分享一篇有观点和思考的技术文章 Algo ...
- 《C语言程序设计教程》学习笔记
<C语言程序设计教程>--朱鸣华.刘旭麟等 第一章 C语言概述 1.C语言的特点: 1)兼具高级.低级语言的双重能力(C语言允许直接访问物理地址,能够进行位操作,能实现汇编语言的大部分功能 ...