React Native 熱更新
1.安裝
npm i react-native-code-push --save
react-native link react-native-code-push
2.全域性安裝code-push 命令外掛
npm install -g code-push-cli
//檢視版本
code-push -v
3.註冊code-push賬號
//註冊賬號會跳出註冊網頁
code-push register
//授權通過之後,CodePush會告訴你“access key”,複製此key到終端即可完成登入
code-push login
PS.相關命令
code-push login //登陸
code-push loout //登出
code-push access-key ls //列出登陸的token
code-push access-key rm <accessKye> //刪除某個 access-key
code-push app ls //檢視所有app
code-push deployment history MyAPP Staging //c檢視歷史釋出版本
code-push release-react MyAPP ios //釋出到code-push Staging
code-push promote MyAPP Staging Production //從Staging釋出到正式環境
code-push release-react MyAPP ios -d Production //直接發不到正式環境
code-push deployment ls MyAPP -k //檢視key
4.建立應用
兩種方法
(1).通過官網
(2).通過命令列
//ios
code-push app add helloworld ios react-native
//android
code-push app add helloworld android react-native
5.檢視你的deployment key
code-push deployment ls helloworld -k
6.在Xcode中填寫你的key
7.新增測試
code-push deployment add helloworld Test
8.程式碼中使用
import codePush from "react-native-code-push";
let codePushOptions = {checkFrequency: codePush.CheckFrequency.MANUAL};
HelloWorld = codePush(codePushOptions)(HelloWorld);
const myKey = '***'
codePush.checkForUpdate(myKey)
.then((update)=>{
console.log('update is' , update)
if(!update){
Alert.alert("提示","已是最新版本--",[
{text:"Ok", onPress:()=>{
console.log("點了OK");
}}
]);
}else{
codePush.sync({
deploymentKey: myKey,
updateDialog: {
optionalIgnoreButtonLabel: '稍後',
optionalInstallButtonLabel: '後臺更新',
optionalUpdateMessage: '有新版本了,是否更新?',
title: '更新提示'
},
installMode: codePush.InstallMode.IMMEDIATE
});
}
})
PS:注意IOS是根據info中的版本號來決定是否更新,版本獨立不影響的位數是三位
即iOS版本都是獨立不影響,version=X.Y.Z,當codepush釋出更新時,只會影響與其X.Y.Z三位數完全相同的版本,其他版本不會受影響。
打包
//在ios目錄下建立bundle目錄,在專案目錄下執行,然後在Xcode中需要把 bundle 新增在專案下
react-native bundle --entry-file index.js --platform ios --dev false --bundle-output ./ios/bundle/index.ios.jsbundle --assets-dest ./ios/bundle
//react-native bundle --platform android --dev false --entry-file index.js --bundle-output android/app/src/main/assets/index.android.bundle --assets-dest android/app/src/main/res
//打包到 stagging
code-push release-react helloworld ios
//放到production下
code-push promote helloworld Staging Production
問題: 本人一直以為
如: 之前是1.0.0打包的,然後提交codepush為 v1版本,下次更新打包 1.0.1 為 v2 版本就可以了..試了半天,一直不更新.
結果:本來是1.0.0的版本,如果要進行熱更新是不需要修改 info.list的版本號的,還是以1.0.0打包上去就可以了,codepush會以打包上去的 v1,v2的更新時間進行熱更新,也就是codepush官網中的target version 就是你要進行熱更新的版本
相關文章
- React Native 熱更新實踐React Native
- React Native - react-native-code-push-熱更新外掛的使用[譯文]React Native
- 【0.48】React Native 中文更新日誌React Native
- 【0.58】React Native 中文更新日誌React Native
- 【0.45】React Native 中文更新日誌React Native
- [React Native]react-native-scrollabReact Native
- React Native Icon方案:react-native-svgReact NativeSVG
- 一種強大、可靠的React Native拆包以及熱更新方案,基於CodePush,MetroReact Native
- React Native 0.76 重大更新:新架構全面啟用React Native架構
- React Native 使用 react-native-webview 渲染 HTMLReact NativeWebViewHTML
- React Native轉web方案:react-native-webReact NativeWeb
- 【3月更新】React Native 優秀開源專案大全React Native
- react-native配置react-native-image-crop-pickerReact
- React Native選擇器元件-react-native-slidepickerReact Native元件IDE
- React Native 上手React Native
- react-nativeReact
- 高仿京東Android App,整合React-Native熱更功能AndroidAPPReact
- 《React Native高效開發》之create-react-native-appReact NativeAPP
- React Native / React除錯技巧React Native除錯
- react native 包學不包會系列--認識react nativeReact Native
- 詳解 React NativeReact Native
- Redux for react native 指南ReduxReact Native
- React-Native ‘WKWebView` has no propType for native propReactWebView
- React Native 0.76:重大更新引領移動開發新潮流React Native移動開發
- react-native啟動開發常見錯誤(持續更新)React
- [React Native]使用App Center CLI釋出CodePush更新--iOS簡易版React NativeAPPiOS
- react/react-native效能優化React優化
- [譯] Airbnb 在 React Native 上下的賭注(四):React Native 退役AIReact Native
- React Native --踩坑記 之 建立指定 React Native版本的專案React Native
- React Native 的未來與React HooksReact NativeHook
- React Native Router Navigations(3)React NativeNavigation
- React Native 環境搭建React Native
- React Native 初體驗React Native
- React Native 0.59 新特性React Native
- React Native 整合code pushReact Native
- React-Native爬坑React
- React-Native實踐React
- [譯] 圖解 React Native圖解React Native