您的位置:首页 > 其它

[置顶] 检查版本更新

2016-06-03 15:49 246 查看
1、

// FIR.im的自动更新
  
NSString *bundleId = [[NSBundlemainBundle]infoDictionary][@"CFBundleIdentifier"];

NSString *bundleIdUrlString = [NSStringstringWithFormat:@"http://api.fir.im/apps/latest/%@?api_token=71eb982be4f093719d2b7d985b236fb7&type=ios", bundleId];

NSURL *requestURL = [NSURLURLWithString:bundleIdUrlString];

NSURLRequest *request = [NSURLRequestrequestWithURL:requestURL];

[NSURLConnectionsendAsynchronousRequest:requestqueue :[NSOperationQueuecurrentQueue]completionHandler:^(NSURLResponse *response,NSData *data,NSError *connectionError) {

if (connectionError) {

//do something

XNLog(@"版本检查失败");

}else {

NSError *jsonError =nil;

id object = [NSJSONSerializationJSONObjectWithData:dataoptions:0error:&jsonError];

if (!jsonError && [objectisKindOfClass:[NSDictionaryclass]]) {

//do something

//NSString * version=object[@"version"]; //对应 CFBundleVersion,对应Xcode项目配置"General"中的 Build

NSString * versionShort=object[@"versionShort"];//对应 CFBundleShortVersionString,对应Xcode项目配置"General"中的 Version

//NSString * localVersion=[[NSBundle mainBundle] infoDictionary][@"CFBundleVersion"];

NSString * localVersionShort=[[NSBundlemainBundle]infoDictionary][@"CFBundleShortVersionString"];

nss_updateURL=object[@"update_url"];//如果有更新需要用Safari打开的地址

//NSString *changelog=object[@"changelog"]; //如果有更新需要用Safari打开的地址

if (![localVersionShort isEqualToString:versionShort]) {

[[AlertHandlersingleton]showConfirm_default_title:@"发现新版本"message:[NSStringstringWithFormat:@"发现新版本v%@",versionShort]delegate:self

cancelButtonTitle:@"忽略"otherButtonTitle:@"点击更新"tag:1];

}

}

}

}];


2、

<span style="font-size:18px;">if ([[CommFunsingleton]event_updateVersion] ==YES) {

UIApplication *application = [UIApplicationsharedApplication];

[applicationopenURL:[NSURLURLWithString:[UesrInfosingleton].updateURL]];

}else{

NSString * localVersionShort=[[NSBundlemainBundle]infoDictionary][@"CFBundleShortVersionString"];

[[AlertHandlersingleton]showConfirm_default_title:[NSStringstringWithFormat:@"当前版本v%@", localVersionShort]message:@"当前已是最新版本"delegate:selfcancelButtonTitle:@"确定"otherButtonTitle:niltag:1];

}

-(BOOL)event_updateVersion{

// TODO:去掉版本检查(苹果审核不通过)

[UesrInfosingleton].needUpdate =NO;

returnNO;

[UesrInfosingleton].needUpdate =YES;

NSString *bundleId = [[NSBundlemainBundle]infoDictionary][@"CFBundleIdentifier"];

NSString *bundleIdUrlString = [NSStringstringWithFormat:@"http://api.fir.im/apps/latest/%@?api_token=71eb982be4f093719d2b7d985b236fb7&type=ios", bundleId];

NSURL *requestURL = [NSURLURLWithString:bundleIdUrlString];

NSURLRequest *request = [NSURLRequestrequestWithURL:requestURL];

[NSURLConnectionsendAsynchronousRequest:requestqueue :[NSOperationQueuecurrentQueue]completionHandler:^(NSURLResponse *response,NSData *data,NSError *connectionError) {

if (connectionError) {

//do something

XNLog(@"版本检查失败");

}else {

NSError *jsonError =nil;

id object = [NSJSONSerializationJSONObjectWithData:dataoptions:0error:&jsonError];

if (!jsonError && [objectisKindOfClass:[NSDictionaryclass]]) {

//do something

//NSString * version=object[@"version"]; //对应 CFBundleVersion,对应Xcode项目配置"General"中的 Build

NSString * versionShort=object[@"versionShort"];//对应 CFBundleShortVersionString,对应Xcode项目配置"General"中的 Version

//NSString * localVersion=[[NSBundle mainBundle] infoDictionary][@"CFBundleVersion"];

NSString * localVersionShort=[[NSBundlemainBundle]infoDictionary][@"CFBundleShortVersionString"];

NSString *nss_updateURL=object[@"update_url"];//如果有更新需要用Safari打开的地址

//NSString *changelog=object[@"changelog"]; //如果有更新需要用Safari打开的地址

if (![localVersionShort isEqualToString:versionShort]){

[UesrInfosingleton].needUpdate =YES;

}else{

[UesrInfosingleton].needUpdate =NO;

}

[[UesrInfosingleton]setUpdateURL:nss_updateURL];

}

}

}];

return [UesrInfosingleton].needUpdate;

}

-(void)setUpdateURL:(NSString *)updateURL{

NSMutableDictionary *updateURLDic = [[NSMutableDictionaryalloc]initWithObjectsAndKeys:updateURL,@"updateURL",nil];

[PlistReaderdoWrite:@"updateURL"dic:updateURLDic];

}</span>


       
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: