刚刚学不久React,感觉还行(仅凭个人喜好)自己做了一下热跟新跟同学们分享一下,前提你的工具已经配置好了,去中文网配置一下 ok(这里只讲iOS的 ) 磨刀霍霍向猪羊
一,React Native 之热更新
1. 用终端下载codePush npm install -g code-push-cli
2. 注册一下 用命令 code-push register 授权一般选择Github 就行(没有注册一下)code-push logout 是退出命令(只要不退出一直保持登录)
3. 添加项目名称 code-push app add AppName AppName 以后用这个APP名字更新代码 返回deployment key 这个后面有用
4. 添加依赖 npm install —save react-native-code-push 并去库里查看一下
5.添加关联 react-native link. info文件中会有一个codePushdeploymentkey
6 添加设置iOS
下面可以通过code-push deployment ls appName -k 查看key 并填入
7重点热更新
自动更新在APP.js.文件里 找到 componentDidMount(){} 往里面添加 codePush。sync({
updateDialog: {
appendReleaseDescription: true,
descriptionPrefix:'\n\n更新内容:\n',
title:'更新',
mandatoryUpdateMessage:'',
mandatoryContinueButtonLabel:'更新',
},
mandatoryInstallMode:codePush.InstallMode.IMMEDIATE,
})。
mandatoryInstallMode 这个更新方式有三四中注意下这里是强制跟新
手动更新
codePush.checkForUpdate().then((update) => {
if (!update) {
Alert.alert("提示", "已是最新版本--", [
{
text: "Ok", onPress: () => {
console.log("点了OK");
}
}
]);
} else {
codePush.sync({
updateDialog: {
appendReleaseDescription: true,
descriptionPrefix:'更新内容',
title:'更新',
mandatoryContinueButtonLabel:'更新',
},
mandatoryInstallMode: codePush.InstallMode.IMMEDIATE,
},
(progress) => {
console.log(progress.receivedBytes + " of " + progress.totalBytes + " received.");
}
);
}
})
8.打包跟新 code-push release-react MyApp-iOS ios --t 1.0.0 --dev false --d Production --des "1.优化操作流程" --m true (这里的1.0.0 跟iOS版本号一致,iOS才能热跟新)
ok iOS 可以热跟新,不要给提示框就行