iOS获取当前AppStore版本号与更新

 1 - (void)checkUpdateWithAppID:(NSString *)appID success:(void (^)(NSDictionary *resultDic , BOOL isNewVersion ,NSString * newVersion , NSString * currentVersion))success failure:(void (^)(NSError *error))failure{
 2     AFHTTPSessionManager *manager = [AFHTTPSessionManagermanager];
 3     manager.requestSerializer=[AFHTTPRequestSerializerserializer];
 4     manager.responseSerializer=[AFHTTPResponseSerializerserializer];
 5
 6     //
 7     NSString *encodingUrl=[[@"http://itunes.apple.com/lookup?id=" stringByAppendingString:@"APP的唯一ID"]stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];
 8
 9     [manager GET:encodingUrl parameters:nilprogress:^(NSProgress *_Nonnull downloadProgress) {
10
11     } success:^(NSURLSessionDataTask *_Nonnull task, id _Nullable responseObject) {
12
13         NSDictionary *resultDic=[NSJSONSerializationJSONObjectWithData:responseObject options:NSJSONReadingMutableLeaveserror:nil];
14
15 //获取AppStore的版本号
16         NSString * versionStr =[[[resultDic objectForKey:@"results"]objectAtIndex:0]valueForKey:@"version"];
17
18         NSString *versionStr_int=[versionStr stringByReplacingOccurrencesOfString:@"."withString:@""];
19
20         int version=[versionStr_intintValue];
21
22 //获取本地的版本号
23         NSDictionary *infoDic=[[NSBundle mainBundle] infoDictionary];
24
25         NSString * currentVersion = [infoDic valueForKey:@"CFBundleShortVersionString"];
26
27         NSString *currentVersion_int=[currentVersion stringByReplacingOccurrencesOfString:@"."withString:@""];
28
29         int current=[currentVersion_int intValue];
30
31         if(version>current){
32             success(resultDic,YES, versionStr,currentVersion);
33         }else{
34             success(resultDic,NO ,versionStr,currentVersion);
35         }
36     } failure:^(NSURLSessionDataTask *_Nullable task, NSError *_Nonnull error) {
37         failure(error);
38     }];
39 }
40
41
42 //  调用
43
44
45 VersionUpdate *tool=[[VersionUpdatealloc]init];
46     __weaktypeof(self)weakSelf=self;
47     [tool checkUpdateWithAppID:@""success:^(NSDictionary *resultDic,BOOL isNewVersion, NSString *newVersion , NSString * currentVersion) {
48         if (isNewVersion) {//表示要更新版本
49             NSMutableDictionary *dict=[[NSMutableDictionary alloc]init];
50             NSString *key=[NSString stringWithFormat:@"%@%@",currentVersion,newVersion];
51             NSString *value=[s.versionUpdateMessage objectForKey:key];
52             int time =[value intValue];
53             if (time<3&&_versionUpdateVC==nil) {//小于三次可以继续弹框
54                 time+=1;
55                 [dict setValue:[NSString stringWithFormat:@"%d",time]forKey:key];
56                 s.versionUpdateMessage=[NSDictionary dictionaryWithDictionary:dict];
57                 _versionUpdateVC = [[VersionUpdateController alloc]initWithContent:[[[resultDic objectForKey:@"results"]firstObject]objectForKey:@"releaseNotes"]];//releaseNotes,AppStore上面的APP更新内容
58                 [_versionUpdateVC addSelfFromSuperWithVersionStr:newVersion];
59             }else{//大于三次不做任何操作
60                 [weakSelf joinGroupView];
61             }
62         }
63     } failure:^(NSError *error) {
64         [weakSelf joinGroupView];
65     }];
时间: 2024-12-28 10:09:18

iOS获取当前AppStore版本号与更新的相关文章

iOS获取APP的版本号

如上图,iOS有2个版本号,Version和Build,在target->General中可查看. Version在plist文件中的key是"CFBundleShortVersionString",和AppStore上的版本号保持一致,Build在plist中的key是"CFBundleVersion",代表build的版本号,该值每次build之后都应该增加1.这两个值都可以在程序中通过下面的代码获得: [[[NSBundle mainBundle] in

iOS获取APP的版本号和名称

NSDictionary *infoDictionary = [[NSBundle mainBundle] infoDictionary]; CFShow(infoDictionary); // app名称 NSString *app_Name = [infoDictionary objectForKey:@"CFBundleDisplayName"]; // app版本 NSString *app_Version = [infoDictionary objectForKey:@&qu

iOS 获取appstore 版本号

项目上线以后一般都涉及到升级,那么iOS 如何从appstore获取到版本号 其实很简单 NSString *url = [[NSString alloc] initWithFormat:@"http://itunes.apple.com/lookup?id=%@",@"987953868"]; 其中 最后一串数字就是当前app的唯一id. 这个id如何得到,百度一下 很简单 然后我们只需要调用这个 地址,就会返回当前app的一些信息,其中就包括appstore上的

iOS获取应用程序信息,版本号,程序名等

转载▼     iOS获取应用程序信息 NSDictionary *infoDictionary = [[NSBundle mainBundle] infoDictionary]; 其中的信息示范: 版本号:[infoDictionary objectForKey:@"CFBundleVersion"]; 应用程序名:[infoDictionary objectForKey:@"CFBundleDisplayName"]; { CFBundleDevelopment

iOS 获取appstore 版本

项目上线以后一般都涉及到升级.那么iOS 怎样从appstore获取到版本 事实上非常easy NSString *url = [[NSString alloc] initWithFormat:@"http://itunes.apple.com/lookup? id=%@",@"987953868"]; 当中 最后一串数字就是当前app的唯一id. 这个id怎样得到,百度一下 非常easy 然后我们仅仅须要调用这个 地址.就会返回当前app的一些信息,当中就包含ap

ios 获取app版本号

let infoDictionary = Bundle.main.infoDictionary!let appversion = infoDictionary["CFBundleShortVersionString"] as! String   //获取app的版本号 let deviceId = UIDevice.current.identifierForVendor?.description ?? ""   //可以作为标识设备的唯一编号 原文地址:https:

iOS获取设备型号、装置类型等信息

iOS获取设备型号.设备类型等信息 设备标识 关于设备标识,历史上盛行过很多英雄,比如UDID.Mac地址.OpenUDID等,然而他们都陆陆续续倒在了苹果的门下.苹果目前提供了2个方法供App获取设备标识:idfa和idfv idfa:全称advertisingIdentifier,官方解释是广告标识,适用于广告推广,这个建议不要轻易使用,如果用了,则App里必须提供广告功能,否则很有可能会在AppStore审核时被拒.而且idfa是可以被用户关闭的(设置->隐私),一旦被关闭,就获取不到了.

iOS App上架AppStore 会遇到的坑

前言:非原创 文章摘自:http://zhuanlan.zhihu.com/100000PM/20010725 相信大家一定非常「深恶痛疾」AppStore的一系列产品上架规则.每次产品上架,一定要折腾很久,让人蛋疼.所以特此发起本期沙龙,为大家带来一些经验. 闫国荣:以下是现在能记忆起,遇到的问题.大家对此有不清楚的地方可以提出来,我详细介绍下. 内容含敏感话题或对苹果不友好的信息(如苹果婊) 使用了友盟的统计SDK,获取了IDFA但是上传填写无广告 采用友盟IDFA的sdk,并用友盟的默认淘

(转))iOS App上架AppStore 会遇到的坑

iOS App上架AppStore 会遇到的坑 前言:非原创 文章摘自:http://zhuanlan.zhihu.com/100000PM/20010725 相信大家一定非常「深恶痛疾」AppStore的一系列产品上架规则.每次产品上架,一定要折腾很久,让人蛋疼.所以特此发起本期沙龙,为大家带来一些经验. 闫国荣:以下是现在能记忆起,遇到的问题.大家对此有不清楚的地方可以提出来,我详细介绍下. 内容含敏感话题或对苹果不友好的信息(如苹果婊) 使用了友盟的统计SDK,获取了IDFA但是上传填写无