美文网首页
JSPatch在项目中的运用

JSPatch在项目中的运用

作者: bluesea哈哈哈 | 来源:发表于2016-06-04 17:59 被阅读60次

JSPatch是基于JavaScript的框架,而且看到很多项目在运用,eg:滴滴、猫眼等一些体量比较大的app在用,因此我想在我们APP里面运用。JSPatch用RSA算法来进行文件加密的验证

1.首先我们要生成RSA算法用的密钥和公钥

   使用openssl命令行生成密钥对

按照提示,填入私钥密码、签名证书的组织名、邮件等信息以后就会生成包含有公钥的证书文件public_key.der合私钥文件private_key.pem,利用终端输入 cat private_key.pem 可以查看私钥的数据

私钥主要给服务器生成文件加密用的

我们利用私钥是可以生成相对应的公钥的,把公钥放到客服端,来做验证

2.接下来我们对JSPatch嵌入,我们没有用JSPatch提供的服务器,而是 我们自己的服务器,用自己的服务器,就牵涉到几个问题?1)什么时候去请求脚本,2)有脚本了怎么办, 3)同一个版本存在多个修复怎么办 4)不同的版本请求脚本的问题

1)什么时候请求版本、每次启动APP的时候请求 

2)有脚本了怎么办 ,我们会查看本地存在不,存在后,做进一步操作,不存在,直接下载脚本

3)同一个版本存在多个修复怎么办  我们会在同一个版本下,有fix_num 来标志本版本修复数,一直在递增

4)不同的版本请求脚本的问题 ,在启动的时候,我们会带上项目的版本号,来请求这个版本下的脚本

所有我们设计接口是xxx/xxx?v=xxxx ,v表示版本号 返回的数据结构是

{

"url": "xxx",

"v": "4.5.0",

"file_name": "20160604142439.zip",

"fix_num": 2

}

3 当我们传到服务器之前,首先自己要先测试下,也就是说,在我们代码中,对测试和线上来切换,因此我们来定义一个

来进行切换,在本地测试好,在打包传到服务器

接下来看下我们的处理逻辑

首先来判断本地存储的有脚本的信息没有,如果没有,直接去请求脚本,如果有,比较版本号和fix_num,来进行脚本的下载

4、接下来记录下转换网站遇到的坑

 1)如果你项目中有强制转换的类型,在调用的方法转换js的时候,不要带,否则会报错

eg

直接调用self.navigationController().setCanDragBack(YES);就可以了

2)OC 中UIStatusBarAnimationNone等枚举,不会给你转换,所有需要你直接写上对应的数字

3) for in 会遇到不识别的坑,用for(int i = 0 i < 10;i++)

4)self.frame 获取宽高的问题,直接self.frame().width 和self.frame().height

5)NSNotfound 转换成兼容64和32位的数字 

6)self.setValue_forKey”方法实现“_week = week",用来这样修改self.setValue_forKey(week,"_week")”

相关文章

  • JSPatch在项目中的运用

    JSPatch是基于JavaScript的框架,而且看到很多项目在运用,eg:滴滴、猫眼等一些体量比较大的app在...

  • IOS关于热修复JSPatch

    一:关于JSPatch JSPatch : 是一个iOS动态更新框架,只需在项目中引入极小的引擎,就可以使用Jav...

  • JSPatch在Swift项目中的使用

    现在的这个项目从1月份开始做,到现在也快一年了,听起来感觉项目很大似得,其实只是效率慢的缘故(后台慢,需求慢......

  • JSPatch的基本使用及思考

    介绍 JSPatch是2015年由bang推出的能实现热修复的工具,只要在项目中引入极小的JSPatch引擎,就可...

  • JSPatch你想知道的都在这里

    我们首先说说JSPatch是什么,它是iOS热修复平台,我们项目中如果导入JSPatch,即使你的项目已经上线,不...

  • JSPatch实现原理解析

    JSPatch JSPatch是一个iOS动态更新框架,只需要在项目中引入极小引擎,就可以使用javascript...

  • Retrofit 网络请求之@Body标签遇到的坑

    前面两篇文章介绍了Retrofit+RxJava + OkHttp 在实际项目中运用,分为基础篇和封装篇,在实际项...

  • JSPatch之block

    题外话:最近苹果封杀JSPatch以及其他各种Patch的行动一度让很多公司把JSPatch从项目中移除了。眼看P...

  • JSPatchDemo

    简介: JSPatch是最近业余做的项目,只需在项目中引入极小的引擎,就可以使用JavaScript调用任何...

  • JS脚本即时运用

    JSPatch原理 即时运用对实例对象的影响 NSObject对象数据结构 runtime源码分析

网友评论

      本文标题:JSPatch在项目中的运用

      本文链接:https://www.haomeiwen.com/subject/wumldttx.html