
如果我们需要实现应用程序版本的自动更新提示,那么我们需要获取当前运行程序的版本信息和 appstore里发布的最新版本信息。当前运行程序的版本信息,可以在 mainBundle 里面获取:
NSDictionary infoDict = [[NSBundle mainBundle]infoDictionary];
NSString currentVersion = [infoDictobjectForKey:@"CFBundleVersion"];
而 appstore 里发布的最新版本信息获取稍微复杂一些,有两种方案,思路都是一样的:
其一:在某个服务器上存储最新发布的版本信息,需要的时候向该服务器查询;
其二:在需要的时候向 appstore 查询;
在这里我来介绍第二种方法:向 appstore 查询应用程序信息,包括作者,版本,app介绍页面地址等信息。
英文好的同学可以参考apple的文档:>>
代码里保存软件版本号:
1、在程序某个文件中写死软件的版本。
2、生产可执行镜像文件后采取工具将版本压缩后在压缩文件前面添加上版本信息,这种方法常用,这种方法需要软件从压缩文件文件头去获取版本信息,执行了版本文件回退、程序错误、软件版本文件被破坏或者丢失,当前在内存运行的软件会无法准确获取当前运行的版本信息。
1、服务器发送通知的方式
当有新版本时,由服务器向所有用户发送通知,提醒用户进行更新。
好处:用户下载应用之后,即使一次也没使用过,也可以接收到通知,然后进行版本更新。
坏处:
1)可能用户已经更新了新版本,可还是收到了有新版本的提示。
2)如果用户关闭了接收push通知,那么即使服务器push了一个新版本提示,用户也收不到。
2本地通知的方式。
在pda登陆页面或者是设置一个定时器,间隔时间去查询用户当前版本,监测到版本不一致时提醒用户更新
方法:服务器提供一个访问现有版本的接口, 本地代码可以每隔一段时间,去访问服务器获取当前应用的版本,如果有更新,则d出对话框提醒用户进行更新
坏处:可能不能及时更新版本。
3服务器提供一个接口,访问接口(在使用应用中间(比如进入某个模块,这个模块调用此接口))进行提醒更新, 从接口获取的最新版本号与上次存储在本地的当前版本进行比较,不一致则提醒用户更新
好处:及时。用户可以很及时的更新新版本。
坏处:是用户在使用app期间收到提示
方法4没有进行实践 *** 作,暂且仅当记录
4、另外,友盟有自动提醒的功能,利用友盟推送可以实现版本更新
目前PDA的版本更新用的是类似方法3
大致实现思路:
步骤一:获取当前安卓上所安装的软件版本号
步骤二:调用接口获取当前最新版本号
步骤三:当前版本号是否与最新版版本号一致,不一致进行版本下载安装更新
data () {
return {
currentVersion: '', // 安卓上当前软的版本号
lateVer: '', // 最新版本号
wgtUrl: '', // 下载地址
percentageNum: 0, //下载进度条
show: false, // 下载时可根据需求添加进度条样式 控制进度条显隐
}
},
mounted () {
setTimeout(() => { // 根据代码实际情况确认是否添加延迟
// 获取设备唯一标识码 浏览器运行时注释掉plus部分浏览器中无plus会报错阻滞代码向下执行
// 这里可以调用5+ API了,为了更好的兼容性,应该使用以下代码进行判断
if (windowplus) {
// 在这里调用5+ API
thisplusready()
} else { // 兼容老版本的plusready事件
documentaddEventListener('plusready', thisplusready(), false)
}
})
},
methods: {
plusready () {
// 获取软件版本号
plusruntimegetProperty(plusruntimeappid, (inf) => {
consoleinfo('当前版本号:' + infversion)
// 获取当前版本号逻辑 *** 作
})
},
// 当前安装软件的版本与最新版本不同时确定下载
// 在App中检测版本更新首先判断版本号是否是最新的,不是最新则执行版本更新功能。
// 实现方式主要通过plusdownloadercreateDownload下载apk包,
// 下载完成后通过plusruntimeinstall来进行安装,在下载时给下载任务设置一个监听根据状态实时更新下载进度
downLoad () {
// plusnativeUIshowWaiting("新版本更新中,请耐心等待~");
let dtask = plusdownloadercreateDownload('>
@echo off
set "App=c:\Program Files\FlashFXP\flashfxpexe"
wmic datafile where "Name= %App%" get Manufacturer,Version,Filename
pause
改成如此便可,
给变量加双引号防止路径空格,如此便可以了
以上就是关于如何获取app store上面应用软件的详细信息全部的内容,包括:如何获取app store上面应用软件的详细信息、vb做的软件如何获得自己的版本号、代码里怎么保存软件版本号等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)