IOS App版本更新
来源:互联网 发布:c语言蒲福风力等级 编辑:程序博客网 时间:2024/06/05 08:57
前言:检测更新是一个很常见的功能,相信每一个应用都会使用到,话不多说,直接贴码。
大致步骤如下:
1、通过http://itunes.apple.com/lookup?id=应用ID 来获取应用的相关信息;
2、与本地版本号进行比对;
3、如果需要更新,友好提示框;
4、如果需要更新,跳转到AppStore页面进行下载;
#pragma mark - 检测更新- (void)checkSoftVersion{ NSString *versionString = [NSString stringWithContentsOfURL:[NSURL URLWithString:@"http://itunes.apple.com/lookup?id=1146055295"] encoding:NSUTF8StringEncoding error:nil]; if (versionString != nil && [versionString length] > 0 && [versionString rangeOfString:@"version"].length == 7) { [self checkAppUpdate:versionString]; }}#pragma mark 比较当前版本与新上线版本做比较- (void)checkAppUpdate:(NSString *)appInfo{ NSString *locationVersion = [[[NSBundle mainBundle] infoDictionary] objectForKey:@"CFBundleShortVersionString"]; NSString *appVersion = [appInfo substringFromIndex:[appInfo rangeOfString:@"\"version\":"].location + 10]; appVersion = [[appVersion substringToIndex:[appVersion rangeOfString:@","].location] stringByReplacingOccurrencesOfString:@"\"" withString:@""]; if ([appVersion compare:locationVersion] == NSOrderedDescending) { dispatch_async(dispatch_get_main_queue(), ^{ [IWAlert doubleAlertWithTarget:_tabbarController title:@"已有更新版本" message:@"是否立即跳转到App Store下载 ?" confirmTitle:@"立刻更新" cancleTitle:@"稍后再说" success:^{ //跳转到AppStore页面 NSString *updUrl = @"https://itunes.apple.com/us/app/mei-shang-mei-ke/id1146055295?l=zh&ls=1&mt=8"; [[UIApplication sharedApplication] openURL:[NSURL URLWithString:updUrl]]; } failure:nil]; }); }}
弹窗类的实现
#import <Foundation/Foundation.h>typedef void(^IWAlertSuccessBlock)();typedef void(^IWAlertFailureBlock)();@interface IWAlert : NSObject/** 弹窗 2个按钮 @param target 源 @param title 弹窗标题 @param message 弹窗信息 @param confirmTitle 确认按钮 @param cancleTitle 取消按钮 @param success 成功回调 @param failure 失败回调 */+ (void)doubleAlertWithTarget:(id)target title:(NSString *)title message:(NSString *)message confirmTitle:(NSString *)confirmTitle cancleTitle:(NSString *)cancleTitle success:(IWAlertSuccessBlock)success failure:(IWAlertFailureBlock)failure;@end
#import "IWAlert.h"@implementation IWAlert+ (void)doubleAlertWithTarget:(id)target title:(NSString *)title message:(NSString *)message confirmTitle:(NSString *)confirmTitle cancleTitle:(NSString *)cancleTitle success:(IWAlertSuccessBlock)success failure:(IWAlertFailureBlock)failure{ UIAlertController *alert = [UIAlertController alertControllerWithTitle:title message:message preferredStyle:UIAlertControllerStyleAlert]; UIAlertAction *cancle = [UIAlertAction actionWithTitle:cancleTitle style:UIAlertActionStyleCancel handler:^(UIAlertAction * _Nonnull action) { if (failure == nil) return; failure(); }]; [alert addAction:cancle]; UIAlertAction *confirm = [UIAlertAction actionWithTitle:confirmTitle style:UIAlertActionStyleDestructive handler:^(UIAlertAction * _Nonnull action) { if (success == nil) return; success(); }]; [alert addAction:confirm]; [target presentViewController:alert animated:YES completion:nil];}@end
0 0
- ios app 版本更新
- iOS APP版本更新
- iOS App版本更新
- IOS App版本更新
- ios App store版本更新
- ios app如何更新版本
- App检测版本更新 iOS
- iOS App检测版本更新
- iOS【 APP检查版本更新 】
- app版本更新全过程ios
- iOS 自动检测版本更新APP
- IOS检测版本更新(***为app id)
- IOS检测版本更新(***为app id)
- IOS 怎样实现APP版本更新
- iOS版本更新的APP提交审核
- iOS开发之检查APP版本更新
- iOS APP如何实现版本检测更新
- iOS app自动检测版本更新的功能
- 编程之法*反转单词
- Gcc编译选项-fno-builtin -fno-builtin-function
- 计算球面两点距离 python
- android studio 配置百度地图的505错误与解决
- i.MX6UL -- 网络性能测试 iperf+jperf
- IOS App版本更新
- PowerDesigner 脚本使用详解
- 第七周 OJ总结<5>-C语言实验---一元二次方程
- java.lang.AbstractMethodError: org.mybatis.spring.transaction.SpringManagedTransaction.getTimeout()L
- nginx反射代码做法
- iOS could not build module ‘UIKit’
- Spring Boot MyBatis 连接数据库
- springmvc中aop对controller切面编程
- 解决vsftpd 读取目录列表失败的问题