react-native更新App
react-native更新App(安卓+ios)
1.Android直接和服务器上版本号作对比下载APK进行安装
2.iOS由于需要到AppStore进行下载应用,所以应用需要和AppStore上应用做版本对比后跳转到AppStore进行App更新
安卓:
1、使用插件 rn-fetch-blob //或者 react-native-fetch-blob
npm install --save rn-fetch-blob //安装插件
//或
yarn add rn-fetch-blob
2、安卓配置
在android/app/src/main/AndroidManifest.xml添加权限
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" /> <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> <uses-permission android:name="android.permission.DOWNLOAD_WITHOUT_NOTIFICATION" /><uses-permission android:name="android.permission.REQUEST_INSTALL_PACKAGES"/>
3、ios配置
cd ios
pod install //ios使用pod安装
使用
1、安卓使用
/***Android6.0+获取文件权限
*/
crequestMultiplePermission = async () => {try {const permissions = [PermissionsAndroid.PERMISSIONS.WRITE_EXTERNAL_STORAGE,];const granteds = await PermissionsAndroid.requestMultiple(permissions);if (granteds['android.permission.WRITE_EXTERNAL_STORAGE'] === 'granted') {this.storage = true;} else {this.storage = false;}if (this.storage) return;} catch (err) {console.log(err);}};
import RNFetchBlob from 'rn-fetch-blob';Update = () => {const android = RNFetchBlob.android;//配置手机系统通知栏下载文件通知,下载成功后点击通知可运行apk文件RNFetchBlob.config({addAndroidDownloads: {useDownloadManager: true,title: 'update app',description: 'An APK that will be installed',mime: 'application/vnd.android.package-archive',path: `${RNFetchBlob.fs.dirs.DownloadDir}/update.apk`,mediaScannable: true,notification: true}}).fetch('GET','https://raw.githubusercontent.com/feicien/android-auto-update/develop/extras/android-auto-update-v1.2.apk' //apk下载地址).then(res => {//下载成功后自动打开安装已下载apk文件android.actionViewIntent(res.path(),'application/vnd.android.package-archive');});
}
2、IOS使用
将ios目录下ios_upgrade文件夹拷贝到项目目录下
import { NativeModules } from "react-native";NativeModules.upgrade.upgrade("123456", msg => {if (msg === "YES") {// 跳转到APP StroeNativeModules.upgrade.openAPPStore("123456") //数字为对应的AppStore引用的ID} else {// TODO: 无更新callback && callback();}
}
ios不使用插件更新使用如下:
Linking.openURL("APPstore里面appId").catch(err => console.error('An error occurred', err))
react-native更新App相关推荐
- 使用 Agora SDK 开发 React Native 视频通话 App
在 React Native 的应用中,从头开始添加视频通话功能是很复杂的.要保证低延迟.负载平衡,还要注意管理用户事件状态,非常繁琐.除此之外,还必须保证跨平台的兼容性. 当然有个简单的方法可以做到 ...
- [React Native]使用App Center CLI发布CodePush更新--iOS简易版
面向 用RN开发iOS的小伙伴,并且想使用RN的热更新功能,又不想在一大堆文档里翻来覆去的,可以看看这个简易版.觉得不错的话可以点个赞或关注.附上详细版. 主要步骤 安装App Center CLI: ...
- react native 开发APP(六)网络请求,列表的使用
官网 https://reactnative.cn/ 项目下载地址:https://github.com/hebiao6446/DemoProject 陆续更新中... 在移动端开发的时候,我们基本上 ...
- React Native 开发APP(一)
一,首先检查环境,ReactNative(一下简称:RN)开发,必要环境. 等等,在这里我必须强调,RN开发有两种模式,一是原生Android/IOS混合起来的开发(这种开发目前在国内,从事的比较多) ...
- android home键后计时拉起app_使用React Native完成App软件
搭建开发环境 安装react-native-cli:npm i -g react-native-cli Android SDK 安装Android SDK并启动进行配置: 配置环境变量 export ...
- react native改变app的图标和名称
beauty\android\app\src\main\res 转载于:https://www.cnblogs.com/busicu/p/5711501.html
- react native生成APP报错:You have not accepted the license agreements of the following SDK components:
今晚因为这个问题,加班到晚上11点都没搞出来.实在是气愤,幸好回来查找资料,终于找到了罪魁祸首. 一.报错信息 * What went wrong: A problem occurred config ...
- React Native天气预报APP
expo扫码运行 或者复制下面地址. exp://exp.host/@lxyoucan/weather-ts 效果展示 同时显示多个城市的天气情况,并按温度进行排序 点击任何一个城市,显示天气详情信息 ...
- fragment中文网_更新 · React Native 中文网
时刻将 React Native 更新到最新的版本,可以获得更多 API.视图.开发者工具以及其他一些好东西(译注:官方开发任务繁重,人手紧缺,几乎不会对旧版本提供维护支持,所以即便更新可能带来一些兼 ...
- React Native —— App
使用 React Native 作为 app 框架,Redux 作为数据层,因此我们需要选用一些支持性的技术和工具: 开源的 Parse Server 做数据存储 - 运行在 Node.js 上. F ...
最新文章
- 售价1万7的华为Mate X很贵吗?
- 构建dubbo分布式平台-maven构建ant-framework框架的pom.xml文件配置
- swift_026(Swift 的类型转换)
- 设计模式--1(设计模式基础,设计模式基本原则,设计模式分类)
- 《转》Ubuntu 12.04常用的快捷键
- Hadoop HDFS概念学习系列之HDFS升级和回滚机制(十二)
- flush privileges
- Oracle查询表|注释|字段|字段注释
- diy 扫地机器人 滚刷_扫地机器人无法完成的使命,莱克吉米W7智能洗地机帮你完成...
- 菜鸟javascript整理2
- 分享Silverlight/WPF/Windows Phone/HTML5一周学习导读(1月16日-2月5日)
- 第四周项目1-三角形类的构造函数
- python成绩统计及格学平成_强化学习训练Chrome小恐龙Dino:最高超过4000分
- 用C写邮箱密码暴力破解器
- 吴思进——复杂美创始人首席执行官
- 程序员《周易》入门一
- Webmin未经身份验证的远程代码执行-墨者学院
- 2021年上海第一批高新技术企业上海熙有网络科技集团榜上有名
- 吴恩达机器学习课后作业ex1(python实现)
- 黑苹果NVIDIA显卡驱动程序【 WebDriver-378.10.10.10.20.108+支持macOS 10.13.1 High Sierra (17B1002)版本】
热门文章
- HTTPS 证书 概述及相关研究
- YOLO系列损失函数详解
- HBuilder向下复制快捷键失效问题
- python爬虫lxml解析爬取诗词名句
- [经验分享] MXCHIP+Wifi、ZigBee、蓝牙的区别
- 2022淘宝双十一定金付了可以退吗?双11定金怎么才能退?
- 新生儿黄疸怎么做消退的更快一点?
- fifa足球经理10java_《FIFA足球经理2010》经理模式详解
- 进程和线程的区别(仅为记录个人成长)
- 深度学习论文: U-Net and its variants for Medical Image Segmentation : A short review