首页 > 代码库 > iOS AppStore版本升级详解
iOS AppStore版本升级详解
虽然App Store能够提醒用户软件更新,但很多用户不会主动去更新一大堆的软件(我机器上待更新的软件在100个左右)。如果在软件开启时提醒用户更新 或者 更多中设置“检查更新”项,效果会好很多。
通常的做法是在自己的服务器上记录最新版本号,从iOS客户端请求,与本地版本号比较,不同则提示更新。这种做法简单,缺点是需要单独的服务器支持。
通过查阅相关文章,找到了如下方法,与上述方法类似,不过不需要另外的服务器支持。此为检查更新的最优方法。
NSString *version = @"";NSURL *url = [NSURL URLWithString:@"http://itunes.apple.com/lookup?id=954270"];versionRequest = [ASIFormDataRequest requestWithURL:url];[versionRequest setRequestMethod:@"GET"];[versionRequest setDelegate:self];[versionRequest setTimeOutSeconds:150];[versionRequest addRequestHeader:@"Content-Type" value:@"application/json"]; [versionRequest startSynchronous];//Response string of our REST callNSString* jsonResponseString = [versionRequest responseString];NSDictionary *loginAuthenticationResponse = [jsonResponseString objectFromJSONString];NSArray *configData = http://www.mamicode.com/[loginAuthenticationResponse valueForKey:@"results"];for (id config in configData) { version = [config valueForKey:@"version"];}//Check your version with the version in app storeif (![version isEqualToString:[itsUserDefaults objectForKey:@"version"]]) { ProAlertView *createUserResponseAlert = [[ProAlertView alloc] initWithTitle:@"New Version!!" message: @"A new version of app is available to download" delegate:self cancelButtonTitle:@"Cancel" otherButtonTitles: @"Download", nil]; [createUserResponseAlert show]; [createUserResponseAlert release];}
- (void)alertView:(UIAlertView *)actionSheet clickedButtonAtIndex:(NSInteger)buttonIndex { // the user clicked one of the OK/Cancel buttons if (buttonIndex == 1) { NSString *iTunesLink = @"itms-apps://phobos.apple.com/WebObjects/MZStore.woa/wa/viewSoftwareUpdate?id=<appid>&mt=8"; [[UIApplication sharedApplication] openURL:[NSURL URLWithString:iTunesLink]]; }}
请求http://itunes.apple.com/lookup?id=954270返回的数据给出的version为2.3, 与本地客户端版本号比较,即可判断有无更新。
iOS AppStore版本升级详解
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。