cordova-hot-code-push-plugin
1. git地址
https://github.com/nordnet/cordova-hot-code-push
2. 安装(IOS环境)
a. cordova plugin add cordova-hot-code-push-plugin
b. 不要去安装cordova plugin add cordova-hot-code-push-local-dev-addon 因为这个插件里面的代码是用swift2写的,导致在xcode9.x上一直编译不过,而且这个插件也就本地调试,实际项目不是需要的
c. npm install -g cordova-hot-code-push-cli 安装这个,编译和初始化插件的CLI
d. cordova项目的config.xml配置
<chcp> <auto-download enabled="true" /> 自动更新默认为true,建议不要关闭 关闭后需要自己手动调用插件的js方法来更新了 <auto-install enabled="true" /> <config-file url="https://www.zehuiwenhua.com/jiyifa/www/chcp.json" /> 配置文件的目录 <native-interface version="1" /> 外壳的版本, </chcp>
e. cordova-hcp init 初始化项目的文件 会产生cordova-hcp.json到根目录下
{ "name": "jiyifa", "ios_identifier": "", "android_identifier": "", "update": "start", 更新在什么时候有: start-- 在app重新开始的时候 "content_url": "https://www.xxxx.com/jiyifa/www" 需要更新的www目录的远程地址 }
d. cordova-hcp build 这样就会根据cordova-hcp.json的配置生成对应的chcp.json 和chcp.manifest到www目录下,热更新插件的原理就是比较
{ "name": "jiyifa", "ios_identifier": "", "android_identifier": "", "update": "start", "content_url": "https://www.zehuiwenhua.com/jiyifa/www", "release": "2018.04.23-09.41.48" 比较app端的值和这个值得比较,如果小于这个值 就会从服务器download最新的文件了。 }
3. 遇到的问题
在本地服务可以,但是通过git 提交到远程服务器后就不行了,提交的时候git把换行符转成了unix的 ,导致文件的hash值改变了,所以调试一直报hash值不匹配。修改C:\Users\Administrator\.gitconfig文件就可以了。
[core] autocrlf = false filemode = false safecrlf = true