美文网首页
iOS 开发_应用更新提示

iOS 开发_应用更新提示

作者: iOS_PM_WEB_尛鹏 | 来源:发表于2017-04-18 11:54 被阅读0次

【作者前言】:13年入圈,分享些本人工作中遇到的点点滴滴那些事儿,17年刚开始写博客,高手勿喷!以分享交流为主,欢迎各路豪杰点评改进!

1.应用场景:

Paste_Image.png

2.实现目标:

苹果审核规则里已经明确规定不允许 出现如下按钮,因为APPStore会自动更新

版本更新

但是因为某些项目要求,在需要更新的时候就需要我们弹窗提示一下,原理很简单,就是先获取APPStore对应产品的版本信息,与用户所安装的版本信息就行对比,如果APPStore版本信息高于用户当前使用的版本,则给出弹窗提示信息

3.代码说明:

Tips:获取App Store上产品对应的APPID,如图所示

Paste_Image.png
#pragma mark -
#pragma mark - yp_checkoutUpdateAppVersion 校验是否需要前往APPStore更新
const NSString *appStoreAppID = @"414478124";//AppStore上面对应的APPID,获取方式如上图
- (void)yp_checkoutUpdateAppVersion {
    NSString *getAppStoreInfo = [NSString stringWithFormat:@"http://itunes.apple.com/lookup?id=%@",appStoreAppID];
    //用AFNetwork网络请求方式发起Post请求
    AFHTTPSessionManager *manager = [AFHTTPSessionManager manager];
    [manager POST:getAppStoreInfo parameters:nil progress:nil success:^(NSURLSessionDataTask * _Nonnull task, id  _Nullable responseObject) {
        NSArray *resultsArr = responseObject[@"results"];
        NSDictionary *dict = [resultsArr lastObject];
        /**  得到AppStore的应用的版本信息*/
        NSString *appStoreCurrentVersion = dict[@"version"];
        /**  获取当前安装的应用的版本信息*/
        NSString *appCurrentVersion = [[[NSBundle mainBundle] infoDictionary] objectForKey:@"CFBundleShortVersionString"];
        if ([appCurrentVersion compare:appStoreCurrentVersion options:NSNumericSearch] == NSOrderedAscending){//有更新版本,需要提示前往更新
            UIAlertView *updateAlertV = [[UIAlertView alloc] initWithTitle:[NSString stringWithFormat:@"您有新版本更新(%@)", appStoreCurrentVersion] message:@"" delegate:self cancelButtonTitle:@"我在看看" otherButtonTitles:@"马上更新", nil];
            [updateAlertV show];
        }else{//没有更新版本,不进行操作
            NSLog(@"当前为最新版本,暂无更新版本");
        }

    } failure:^(NSURLSessionDataTask * _Nullable task, NSError * _Nonnull error) {
        
    }];
    
}

#pragma mark -
#pragma mark - UIAlertViewDelegate
- (void)alertView:(UIAlertView *)alertView clickedButtonAtIndex:(NSInteger)buttonIndex {
    NSString *updateUrlString = [NSString stringWithFormat:@"https://itunes.apple.com/cn/app/id%@?mt=8",appStoreAppID];
    if (buttonIndex) {//马上更新
        [[UIApplication sharedApplication] openURL:[NSURL URLWithString:updateUrlString]];
    }else {//我在看看
        
    }
}

相关文章

  • iOS 开发_应用更新提示

    【作者前言】:13年入圈,分享些本人工作中遇到的点点滴滴那些事儿,17年刚开始写博客,高手勿喷!以分享交流为主,欢...

  • 苹果审核被拒原因

    1.应用内包含检查更新内容 iOS 应用的版本更新必须通过 App Store 进行,自身 App 内不能包含提示...

  • iOS应用提示版本更新

    今天看到cocoachina上一个检查应用版本更新的demo 自己又用swift写了一遍,主要是看这个的实现原理是...

  • iOS不添加任何信息检测App更新

    一.前言: 1.iOS开发中,有时会有这种需求,在AppStore上出现新版本时,应用内弹窗提示用户更新. 2.之...

  • Android 禁止某个应用的某个弹框

    最近开发遇到一个需求,需要禁止某个三方应用进行更新。 思路:更新时应用会弹出更新提示框,选择“是”则会开始下载更新...

  • iOS9 .0 未受信任的企业级开发者 出现解决方法

    iOS9 .0 未受信任的企业级开发者 出现解决方法 问题 :在iOS9.0 安装应用后打不开应用,提示 『未...

  • iOS 版本检测更新

    iOS7开始就添加了应用自动更新,该提示更新适用于用户关闭了自动更新应用功能的情况下,现实中很多iPhone用户都...

  • Flutter 应用内App版本更新

    一、前言 我们平时开发原生应用时有新版本发布都会有版本升级提示,然后引导客户去下载更新版本,iOS一般的做法是跳转...

  • 开发使用 iBeacon 的 iOS 7 应用

    开发使用 iBeacon 的 iOS 7 应用 开发使用 iBeacon 的 iOS 7 应用

  • iOS 版本更新

    需求:当iOS应用迭代更新时,少不了更新提示 思路:通过获取appStore已上传的版本的版本号与手机当前该软件的...

网友评论

      本文标题:iOS 开发_应用更新提示

      本文链接:https://www.haomeiwen.com/subject/ncsfzttx.html