ionic 热更新插件cordova-hot-code-push的使用

原创 2016年08月30日 10:15:25
先安装插件,步骤如下

1、在APP目录下运行cordova plugin add cordova-hot-code-push-plugin


2、在APP目录下运行cordova plugin add cordova-hot-code-push-local-dev-addon


3、安装CLI:npm install -g cordova-hot-code-push-cli


在这一步的时候如果出现安装错误,可用以下办法解决:


A、安装python2.7,并将C:\Python27加入环境变量
B、安装VS2013_RTM_DskExp_CHS


开始配置


4、安装完成后运行cordova-hcp build ,之后www文件夹下面出现chcp.json以及chcp.manifest两个文件


A、chcp.json文件内容说明
{
  "autogenerated": true,
  "release": "2016.08.29-15.52.14",  //版本号
  "content_url": "http://www.123.com/www/",//WWW文件夹所在远程地址
  "update": "now"//分三种情况
// start - app启动时安装更新. 默认值.
// resume - app从后台切换过来的时候安装更新.
// now - web内容下载完毕即安装更新.

}


该文件每次运行cordova-hcp build 都会自动重新生成,为了方便,可以在APP项目的根目录下添加一个模板文件cordova-hcp.json,内容如下:
{
  "autogenerated": true,
  "release": "2016.08.29-16.52.27",
  "content_url": "http://www.123.com/www/",
  "update": "start"
}


B、chcp.manifest为文件清单


5、在APP项目的根目录下会生成一个.chcpenv的文件,打开该文件,编辑更新内容远程地址以及远程配置文件地址,如下:
{
  "content_url": "http://www.123.com/www/",
  "config_url": "http://www.123.com/www/chcp.json"
}

测试运行


6、打包运行APP,如ionic run android


7、随便更改一个APP内的页面内容,然后运行cordova-hcp build 生成最新的配置,再将整个WWW目录下的所有文件(包含chcp.json及chcp.manifest两个文件)复制到chcp.json内配置好的远程地址下。本例中是复制到远程IIS的WWW目录下


8、重新打开APP(记住要打开两次后才能看到效果),看看刚才的更新效果吧。



IOS下的配置


IOS的配置可能会因为插件版本的不同而不同。以下以1.4版本为例:

1、编译的时候会报‘_-swift.h’file not found 的错误,打开HCPLDPlugin.h文件,将头部#import "_-Swift.h"改成


#import "百家通云商城-Swift.h"  //这里的“百家通云商城”即为你的APP的名字,例如:

#ifdef __OBJC__
    #import "TestProject-Swift.h"
#endif



2、编译时如果报unknown type name 'SocketIOClient'错误,则需要确认#import "百家通云商城-Swift.h"这一行是否在HCPLDPlugin.h文件头部


3、在info.plist中加入


<key>NSMainNibFile~ipad</key>
<string></string>
<key>NSLocationWhenInUseUsageDescription</key>
<string></string>

4、Embedded content contains swift code设为YES

5、Embed Asset Packs in Product Bundle设为YES

否则在真机运行APP时会闪退,模拟器调试的时候则为出现

libc++abi.dylib: terminating with uncaught exception of type NSException*

的错误

闪退解决办法2:

在XCODE下--》WINDOW--》project--》你的项目名称-->DELETE derived data


版权声明:本文为博主原创文章,未经博主允许不得转载。

Ionic 热更新插件 cordova-hot-code-push-plugin的运用

其中,安装过程看官方文档即可:https://github.com/nordnet/cordova-hot-code-push 中途需要注意的几点: cordova plugin add cord...
  • ducp123
  • ducp123
  • 2017年06月16日 14:49
  • 529

ionic 热更新插件cordova-hot-code-push的实践

最近在做混合app,想用上热更新技术,就是用户不用重新安装客户端,就可以静默或提示用户更新里面的html js css img等文件, 就像支付宝过节,双十一换的图标一样,都是采用热更新了。 htt...
  • qq_29287973
  • qq_29287973
  • 2016年11月23日 15:52
  • 1691

cordova-hot-code-push-plugin使用流程

热更新
  • u010730897
  • u010730897
  • 2016年11月08日 16:58
  • 2633

【cordova】cordova热更新插件的问题(cordova-hot-code-push)

现在估计没多少用cordova的公司了吧,然而迫于公司老总的要求,非要让用H5(明明不懂android,非要干涉技术,小领导们也是敢怒不敢言,唉,越说越气),在这儿随便记录一下吧,如果恰巧有谁也用这个...
  • Z_4545287
  • Z_4545287
  • 2017年04月20日 11:31
  • 1141

[Phonegap+Sencha Touch] 移动开发77 Cordova Hot Code Push插件实现自动更新App的Web内容

地址:https://github.com/nordnet/cordova-hot-code-push 此插件提供了可以使cordova app自动更新web内容的功能机制。 基本上, 你A...
  • lovelyelfpop
  • lovelyelfpop
  • 2016年03月10日 17:26
  • 14738

cordova热更新插件 的安装与使用 以及代码示例下载(已完结)

所谓热更新就是,不在应用市场发布的情况下更新应用,大大的提高了代码的可维护性。 第一次写博客有写的不好的地方可以提出建议 本文参考的链接有: http://www.phonegap100.com/ar...
  • qq_34160678
  • qq_34160678
  • 2016年06月03日 18:24
  • 11802

cordova hybirdapp 热更新

app的审核耗时困扰人们许久,尤其是ios的app。当app刚上线又出现一些小bug需要修复时,这让人相当的抓狂。cordova的cordova-hot-code-push插件让这些原本很复杂很麻烦的...
  • lyc_xiaochao
  • lyc_xiaochao
  • 2016年12月01日 14:48
  • 750

ionic2热更新插件cordova-hot-code-push-plugin更新下载文件

说下需求:在主项目中根据需要下载子项目(或文件),并子项目能利用主项目中的cordova-hot-code-push-plugin的跟随主项目更新。一个是包含全部子项目的页面,一个是选择下载子项目后的...
  • yah_529
  • yah_529
  • 2017年05月12日 16:36
  • 2145

【Ionic】Ionic实现iOS与Android端代码『热更新』与Android升级下载功能 ( v1.3.x版本 )

热更新的好处 通常ionic源码可包括(HTML,JavaScript,CSS文件和其他资源),往常我们必须通过提交程序到应用市场,经过漫长的审核后才可让用户更新,每改动一个小地方都需要重新打新版本...
  • hu764525403
  • hu764525403
  • 2016年11月08日 18:22
  • 6547

Ionic 热更新

原理 插件安装 1.安装Python,cordova-hcp cli 依赖此程序 下载地址:https://www.python.org/downloads/release/python-27...
  • ljw124213
  • ljw124213
  • 2017年02月24日 13:49
  • 1184
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:ionic 热更新插件cordova-hot-code-push的使用
举报原因:
原因补充:

(最多只允许输入30个字)