iOS 版本自动更新

AppDelegate.h

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
   [self  editionUpdate];
}

//版本自动更新
-(void)editionUpdate{

   NSString * [email protected]"192.168.......";//获取后台的接口
   
//    NSString * url=[NSString stringWithFormat:@" //获取app store的接口

//使用同步请求进行解析数据
    NSMutableURLRequest *request=[[NSMutableURLRequest alloc]init];
    [request setURL:[NSURL URLWithString:url]];
    NSData *returnData=[NSURLConnection sendSynchronousRequest:request returningResponse:nil error:nil];
    NSDictionary *jsonData=[NSJSONSerialization JSONObjectWithData:returnData options:0 error:nil ];
    NSString *updateVersion=[jsonData objectForKey:@"version"];//版本号
    _updateUrl=[jsonData objectForKey:@"trackViewUrl"];//下载地址
    
    //获取应用当前版本
    NSString *version = [[[NSBundle mainBundle] infoDictionary] objectForKey:@"CFBundleShortVersionString"];
    
    //转为double类型
    double currentVersion=[version doubleValue];
    double updaVersion=[updateVersion doubleValue];
    
    if (currentVersion<updaVersion) {
        UIAlertView *alert=[[UIAlertView alloc]initWithTitle:@"提示" message:@"有新版本可更新" delegate:self cancelButtonTitle:@"取消" otherButtonTitles:@"升级", nil];
        [alert show];
     
        
    }
}

//alertView delegate 
-(void)alertView:(UIAlertView *)alertView clickedButtonAtIndex:(NSInteger)buttonIndex
{
    if (buttonIndex==1) {
   // 通过获取到的url打开应用在appstore,并跳转到应用下载页面
        [[UIApplication sharedApplication]openURL:[NSURL URLWithString:_updateUrl]];
    }
}
时间: 2024-10-06 23:23:16

iOS 版本自动更新的相关文章

app版本自动更新-iOS忙里偷闲整理系列

原理啊,其实很简单,就是比较app的当前版本号和服务器上的版本号是否一样,不一样就提示更新. iOS程序自动提示更新的实现方案大致分为两种:第一种,自己服务器提供一个接口,告知相关app的当前版本,是否需要更新,以及更新的地址等信息 .第二种,就是利用苹果的appStore 提供的相关api进行查询更新. 代码如下: #define APPUrl @"http://itunes.apple.com/lookup?id=你应用ID 在itunes上的" // 检查是否更新 -(void)

如何将IOS版本的更新下载文件指向到自己的服务器

针对那些使用企业签名但是没有发布到AppSotre的IOS版本APP自动更新问题解决方案: 在apicloud中是这样说明的: 因为要填写plist地址所以不能向安卓那样直接填写服务器文件地址,但是直接填写apicloud中的包又没有签名,所以我们用以下方式解决: 首先我们找到编译记录中的地址 例如:itms-services://?action=download-manifest&url=https://downloadpkg.apicloud.com:443/zip/ff/b2/XXXXX.

Cordova webapp实战开发:(6)如何写一个iOS下自动更新的插件?

上一篇我们学习了如何写一个Andorid下自动更新的插件,我想还有一部分看本系列blog的开发人员希望学习在iOS下如何做插件的吧,那么今天你就可以来看看这篇文字了. 本次练习你能学到的 学习如何获取iOS当前版本号 学习iOS下插件类的编写 学习iOS下插件的配置 学习iOS下插件的调用 主要内容 APP中[检查更新]显示当前版本号 插件类的编写 在上一篇介绍Andorid插件时我们贴出了很多源码,这里也直接贴出代码,首先是iOS下插件的代码. 我们在Plugins下新建两个文件,一个头文件

react native ios版本热更新

react native 热更新的好处 js脚本代码改变了,比如对ui进行了一些修改,客户端要是想更新的话,如果直接下载apk 或者ipa,一个是浪费流量,还有比较麻烦 热更新只要下载打包好的bundle 文件,然后进行替换就可以了 思路比较简单,客户端跟服务端都维持 一个bundle版本信息,如果服务端的版本比客户端的 版本新就下载,然后替换掉 重新渲染就OK了 具体实现,如果没有 热更新,载入bundle的代码是这样的 jsCodeLocation = [[RCTBundleURLProvi

Android实现App版本自动更新

现在很多的App中都会有一个检查版本的功能.例如斗鱼TV App的设置界面下: 当我们点击检查更新的时候,就会向服务器发起版本检测的请求.一般的处理方式是:服务器返回的App版本与当前手机安装的版本号进行对比. (1)如果服务器所返回的版本号大于当前App版本号那么此时手机所安装的App不是最新版.可以提示用户升级. (2)如果不大于当前版本号,可以提示用户为最新版本: 版本升级,也分为两种处理方式: (1)跳转到App某市场(例如:360手机助手),然后根据包名在市场定位到该App,通过市场下

winform版本自动更新

我们在使用软件的时候经常会遇到升级版本,这也是Winform程序的一个功能,今天就大概说下我是怎么实现的吧(代码有点不完美有小BUG,后面再说) 先说下我的思路:首先在打开程序的时候去拿到我之前在网站上写好的xml里边的版本号,判断是否要更新,之后要更新的话就调用更新的exe(ps:这个是单独出来的,因为更新肯定要覆盖当前的文件,文件运行的时候不能被覆盖),然后下载最新的压缩包到本地,调用7z解压覆盖即可 思路明确了之后就开始写代码(所以说思路很重要啊!!!): <?xml version=&quo

iOS添加自动更新的代码

- (void)versionUpdate{ //获得当前发布的版本 dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{ //耗时的操作--获取某个应用在AppStore上的信息,更改id就行 __weak LoginViewController *weakSelf = self; NSString *string = [NSString stringWithContentsOfURL:

微信小程序版本自动更新弹窗提示

代码如下: onLaunch () { if (wx.canIUse('getUpdateManager')) { const updateManager = wx.getUpdateManager() updateManager.onCheckForUpdate(function (res) { if (res.hasUpdate) { updateManager.onUpdateReady(function () { wx.showModal({ title: '更新提示', content

友盟更新 自动更新替换方案

自动更新替换方案 这个服务因为目前面临N多非技术的挑战,导致我们很难再维护好这个服务: iOS的自动更新已经被苹果官方严格禁止了,苹果官方也数次联系友盟,要求我们及早把iOS的更新服务停掉: Android面临的问题更多,比如应用市场(集成友盟自动更新插件会导致市场审核被拒).部分系统厂商(部分厂商系统上,增量更新功能不能正常工作)以及部分运营商的拦截(比如有开发者反馈我们的下载CDN链接在某些地区的运营商会被禁止访问). 4.1日起,我们已经停止向新用户透出该服务:今年10.15以后,老用户也