转发 链接:https://www.jianshu.com/p/00111d447e7e

苹果静止热更新,可惜我的是企业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
http://reactnative.cn/
不像Weex能一套代码多端运行,需要自己分别做修改。

React Native 可以动态添加业务模块,但无法做到修改原生OC代码。

JSPatch、lua 配合React Native可以让一个原生APP时刻处于可扩展可修改的状态。

五、Hybrid
像PhoneGap之类的框架, 基本概念和web差不多, 通过更新js/html来实现动态化,没有原生的效果流畅。

六、动态库
可以做demo用,真实使用的时候会被苹果禁止。

因为 打包发到AppStore的ipa安装包 里的每个动态库 都有唯一的编码,iOS系统会进行验证,所以动态通过网络获取 新的动态库 也用不了。

七、rollout.io
https://rollout.io/
Rollout紧急修复线上bug。后端有相关的管理页面。因为是国外的网站,然后呢,要FQ才能使用。

八、DynamicCocoa
https://github.com/DynamicCocoa/DynamicCocoa

滴滴iOS的一个框架,还没开源已经有1K+star和许多issue了,与JSPatch比更加智能化,用OC在XCode中写完代码,用工具可以自动生成可以更新的js文件。

iOS热更新实现方式相关推荐

  1. iOS热更新解读(三)—— JSPatch 之于 Swift

    继承自 NSObject 的 Swift 类 修改属性 新建 Swift 工程 SwiftJSPatch. AppDelegate.swift: // in AppDelegate.swift --- ...

  2. 沉浸式iOS热更新方案

    沉浸式iOS热更新方案 iOS动态热更技术使得用户无需重新下载APP,就能修复线上BUG,提高用户体验,为APP快速迭代开发提供良好支持.此前业界的热更方案,多数是利用脚本语言修改Objective- ...

  3. Unity应用的iOS热更新

    Unity应用的iOS热更新 作者:丁治宇 Unity TechnologiesChina Agenda ? 什么是热更新 ? 为何要热更新 ? 如何在iOS 上对Unity 应用进行热更新 ? 支持 ...

  4. Ionic3 Ios 热更新

    众所周知,苹果应用上架审核等待时间是蛮久的,但是有时候修改的内容又很少,又不愿意花太久时间去提交审核,那么就可以采用热更新的方式来更新APP内容了,前段时间出现了苹果拒绝审核通过带有热更新的应用,不知 ...

  5. iOS 热更新方案 - lance的专栏 - 博客频道 - CSDN.NET

    iOS 热更新方案 - lance的专栏 - 博客频道 - CSDN.NET Weex

  6. iOS 热更新8种实现方式

    一.JSPatch 热更新时,从服务器拉去js脚本.理论上可以修改和新建所有的模块,但是不建议这样做. 建议 用来做紧急的小需求和 修复严重的线上bug. 二.lua脚本 比如: wax.热更新时,从 ...

  7. IOS热更新-JSPatch实现原理+Patch现场恢复

    关于HotfixPatch 在IOS开发领域,由于Apple严格的审核标准和低效率,IOS应用的发版速度极慢,稍微大型的app发版基本上都在一个月以上,所以代码热更新(HotfixPatch)对于IO ...

  8. iOS 热更新/热修复

    热更新/热修复(调研的可能不全) 热更新 1.* Flutter * 由于渲染的基础(gdi)是自己实现的,所以实现跨平台.性能优化.摆脱平台约束方面的裕度更大.从实际体验来看, Flutter 的性 ...

  9. iOS 热更新,实时代码更新,动态更新,动态库framework

    允许转载! demo 下载 只要审核通过后,无须再次审核,就可以动态更新,iOS有三种处理方案: 一.开源框架 reactive native,但是编程语言是js 二.lua 脚本 三.使用oc语言的 ...

最新文章

  1. umijs多环境配置_umi 项目多环境打包配置
  2. python开发工程师面试题-超实用面试必看,Python工程师面试题
  3. Word2vec 讨论
  4. 快速入门Matplotlib
  5. 键盘上各种特殊符号的英文读法
  6. Linux-vim常见命令
  7. linux怎么进入root权限
  8. css3中-moz-、-ms-、-webkit-、-o-分别代表什么内核
  9. 热乎乎的宇宙头条校招前端面经
  10. Export2Excel实现多级表头以及多个sheet页
  11. 基于SPI方式实现OLED屏显
  12. (三)Linux环境部署(Centos+Nginx+Tomcat+Mysql) - Nginx环境搭建
  13. Eth-Trunk捆绑技术
  14. 麻省理工计算机专业毕业就业,中国版的麻省理工大学,工科实力与清华比肩,备受业界认可...
  15. MySql 5.7 详细参数说明
  16. oracle函数lad,Support | Oracle and MICROS Systems | Oracle 中国
  17. java求公式例题_JAVA经典算法40题
  18. 千兆网线的制作方法法与千兆水晶头的制作方法
  19. Linux Mint(Ubuntu)上 安装 效率神器 utools
  20. 设想一下未来二十年后的计算机,释放你的创造力阅读答案

热门文章

  1. 传说对决美服服务器维护,如何进入传说对决美服 | 手游网游页游攻略大全
  2. 概率速度2013年阿里巴巴暑期实习生笔试题--2013年5月5日考试
  3. 如何扛住100亿次请求?后端架构应该这样设计!
  4. 学习FFmpeg API –解码视频
  5. 联想a2580 android 7,iOS卫垒战! 2013主流小尺寸平板年度横评
  6. SharePoint使用资源管理器打开,提示:在文件资源管理器中打开此库时遇到问题
  7. 计算机在石油工程中应用文献综述,石油与天然气工程领域工程硕士专业学位基本要求第一部分概况.PDF...
  8. vue移动端横屏手写签名
  9. 弘辽科技:拼多多的流量从何而来?怎样提升店铺流量?
  10. 【C语言】选择排序从小到大,从大到小,详细注释