转载前端精选IOS

JSPatch--iOS热修复项目使用

2016-03-15  本文已影响850人  倚楼听风雨wing

1.后台服务器的搭建

一般公司都会有多个项目,而且伴随时间的推移,项目也会不断的维护升级,所以在实现热修复的时候后台的管理也是相当重要。为了规范起见,建议在后台直接搭建一个远程仓库,专门用来管理App端热修复的问题。例如后台文件夹结构:

Paste_Image.png

客户端在发送请求的时候需要带上自己的APPName,Version等参数,然后根据服务器端的返回进行后续操作。

2.安全问题

对于这种从服务器下载一段JS就可以更改项目的东西,我们在使用的时候必须要考虑安全问题。所以对文件进行加密是必要的处理,也就是说每次把写好的需要更新的JS代码放到服务器的时候都需要在后端进行加密处理。
客户端先向服务器发起一个热修复的请求,如果有热修复的JS代码,服务器就返回给客户端一个URL,然后客户端再发起一次请求下载需要热修复的JS代码。

3.更新策略

下载AppDelegate中的ApplicationDidBecomActive中编写请求下载的代码,时间间隔可以根据自己公司的需求而定。
执行AppDelegate中的didFinishLaunchWithOptions中编写执行的代码。这个地方涉及到一些逻辑操作,我在这里简单叙述一下:

  1. 从本地沙盒获取js所在文件路径
  2. 如果文件路径不存在则直接return
  3. 执行补丁js代码
  4. 删除本地补丁

4.后续工作

上一篇下一篇

猜你喜欢

热点阅读