这是一个非Appstore的更新检查,主要是根据后台的返回判断是否有版本更新,核心代码如下:
- (void)connection:(NSURLConnection*)connection didReceiveData:(NSData *)data { [receivedData appendData:data]; } - (void)connection:(NSURLConnection *)connection didFailWithError:(NSError *)error { [[UIApplication sharedApplication]setNetworkActivityIndicatorVisible:NO]; [connection release]; [receivedData release]; } - (void)connectionDidFinishLoading:(NSURLConnection *)connection { [[UIApplication sharedApplication]setNetworkActivityIndicatorVisible:NO]; NSString *result; result = [[NSString alloc] initWithData:receivedData encoding:NSUTF8StringEncoding]; NSString *content = [[result componentsSeparatedByString:@"<body>"] objectAtIndex:1]; [result release]; content = [[content componentsSeparatedByString:@"</body>"] objectAtIndex:0]; content = [content stringByTrimmingCharactersInSet: [NSCharacterSet newlineCharacterSet]]; [connection release]; [receivedData release]; if([content isEqualToString:@"Newest"] == YES) { newVersion = @"Newest"; } else { newVersion = [[content componentsSeparatedByString:@"[New]"] objectAtIndex:0]; newThings = [[content componentsSeparatedByString:@"[New]"] objectAtIndex:1]; newThings = [content stringByTrimmingCharactersInSet: [NSCharacterSet newlineCharacterSet]]; } [delegate checkFinishedWithNewVersion:newVersion NewThing:newThings]; } - (void)cancelDownload { [[UIApplication sharedApplication]setNetworkActivityIndicatorVisible:NO]; [theConncetion cancel]; theConncetion = nil; receivedData = nil; } - (NSString *)getNowVersion { NSDictionary *infoDictionary = [[NSBundle mainBundle] infoDictionary]; NSString *result_ = [infoDictionary objectForKey:@"CFBundleShortVersionString"]; return result_; } - (void)checkNew { [self startCheckWithURLString:[NSString stringWithFormat:@"http://CheckUpdate.action?type=%@",[self getNowVersion]]]; } - (void)startCheckWithURLString:(NSString *)theURL { NSURLRequest *theRequest = [NSURLRequest requestWithURL:[NSURL URLWithString:theURL] cachePolicy:NSURLRequestUseProtocolCachePolicy timeoutInterval:60.0]; theConncetion = [[NSURLConnection alloc] initWithRequest:theRequest delegate:self]; if(theConncetion) { receivedData = [[NSMutableData data] retain]; [[UIApplication sharedApplication]setNetworkActivityIndicatorVisible:YES]; } else { NSLog(@"Can't start the connection!"); } }
相关推荐
ios应用程序检测新版本,实例化该类,直接传递一个App在苹果AppStore上的ID,就可以实现版本更新功能。
自动检测新版本源码,学习易语言的朋友可以下载看看。
使用火山安卓利用微云实现远程检测最新版本的例子,可以有效的了解安卓中如何调用利用微云实现远程检测最新版本的开发案例,本源码由利快云整理上传
利用微云实现远程检测最新版本
整理的一个PHP检测APP版本是否有更新的方法,下载后请按自己需求修改
获取服务器端XML文件,解析XML获取到最新版本号,与当前软件版本号进行对比,发现不一样则提示更新。 涉及到内容点: 1.远程获取XML并分析XML内容 2.远程下载文件并打开 3.下载时通知栏显示下载进度
主要介绍了详解Android Studio无法检测新版本问题解决,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
自动检测新版本源码,学习易语言的朋友可以下载看看。
内存检测工具VLD最新版本,VLD2.5.1-setup,codeproject上提供的的1.0版本,内存泄漏位置定位不行。此版本定位代码内存泄漏位置好。
WPF实现客户端版本的检测,更新操作,实现客户端程序的自动更新。
适用于Android的反检测版本frida-server。 strongR-frida-android用于Android的反检测版本frida-server。 遵循上游自动构建。 Git补丁模块名称frida-core 0001-string_frida_rpc.patch frida-core 0002-io_re_frida_...
tcp udp nat检测工具最新版本 可以实时检测您当前tcp udp是否正常 也可以检测你的nat状态 如果玩外服游戏,出现nat严格,gta5无法线上等 可以用这个查看下自己网络状态。 解压密码:123
3,客户端的升级模块的设计应该是轮询方式,设定某个间隔检测新版本,如1分钟检测一次。 4,检测到新版本后,启动升级程序开始升级。 5,完成整个业务流程。 注:本源码是前端自动升级部分。 ——————————...
检测网吧系统版本,可知道本人的软件是否可入侵数据库
增加了在线检测新版本功能, 方便用户及时获得最新版本功能. c. 修正了部分 bug. ======== 2022-03-03 V1.0.4 a. 修正了在部分机器上无法正确获取本机网络参数的 bug. ======== 2022-03-01 V1.0.3 a. 修正了在部分...
RCP Update Manager 的模式用于更新rcp中的版本,同时可以检测新版本,该模式用于Eclipse 小于3.4版本,当eclipse版本高于等于3.4版本时,需要采用 equinox p2的模式。
4、在线升级:在线检测最新版本并能够自动升级。 5、精彩推荐:推荐一些比较常用和经典的手机软件。 6、软件信息:软件的自述信息。 温馨提示:凡是软件中需要输入站名的地方,用户都可以通过输入站名的首字母...
ios应用发的版本自动开检测开源代码,简单实用,依赖性小。应用程序在登录时运行该代码框架,请求服务器检测是否有新版本号