一. ?安裝插件及包:
1.添加自動(dòng)更新插件
cordova plugin addcordova-hot-code-push-plugin
2. 添加cordova hot code push客戶(hù)端咽安,用于生成www目錄下文件的hash碼果元,更新的時(shí)候?qū)Ρ仁褂谩?/h4>
??? npm install -g cordova-hot-code-push-cli(ps:npm無(wú)法安裝天吓,可以 使用淘寶鏡像cnpm)
二. ?配置
1. ? ? 修改根目錄下的config.xml
<chcp>
? ? ? ? <native-interface version="1" />
? ? ? ? <config-file url="http://119.0.0.56:8088/hotApp/yuecainew/chcp.json" />
? ? </chcp>
version:用來(lái)判斷是否支持熱更新的版本瓦阐,在corodva-chcp.json文件中可以設(shè)置支持的最低版本。
url:用來(lái)更新的服務(wù)端的地址
2.?項(xiàng)目根目錄運(yùn)行cordova-hcp?init
根據(jù)提示配置相關(guān)信息虹菲,項(xiàng)目根目錄會(huì)生成cordova-hcp.json。可以后續(xù)更新里面內(nèi)容舱呻,也可以自己新建,不通過(guò)命令行,重要參數(shù)配置
1. ? min_native_interface:1就是前面配置config.xml文件設(shè)置的version進(jìn)行比較
2. ?update:配置什么時(shí)候更新
3. ?content_url:服務(wù)器更新地址
三. ?更新
項(xiàng)目根目錄編譯cordova-hcp build箱吕,會(huì)在你的項(xiàng)目的www文件下生成兩個(gè)文件chcp.json和chcp.mainfest芥驳。chcp.json文件與corodva-hcp.json內(nèi)容一致只是增加了時(shí)間戳,chcp.mainfest包含所有web內(nèi)容文件的名字和MD5值茬高,這兩個(gè)文件主要用來(lái)判斷是否更新兆旬。更新服務(wù)端代碼時(shí),編譯更新這兩個(gè)文件怎栽,生成新的版本信息丽猬,將www文件更新到服務(wù)端。
(項(xiàng)目根目錄編譯cordova-hcp serve熏瞄,啟動(dòng)更新服務(wù)脚祟。可以判斷本地和服務(wù)端代碼是否更新。)
四. ?問(wèn)題
1. 熱更新的項(xiàng)目,安裝包覆蓋安裝時(shí)是無(wú)法更新的衅金。需要卸載后再安裝才能看到效果绰更。
2.ios報(bào)錯(cuò):
Terminatingapp due to uncaught exception 'NSInvalidArgumentException', reason: '***-[NSURL URLByAppendingPathComponent:isDirectory:]: component, components, orpathExtension cannot be nil.'
熱更新引起的錯(cuò)誤。
由于根目錄下的www沒(méi)有chcp.json和chcp.manifest這兩個(gè)文件。