虽然App Store能够提醒用户软件更新,但很多用户不会主动去更新一大堆的软件。如果在软件开启时提醒用户更新 或者 更多中设置“检查更新”项,效果会好很多。
通常的做法是在自己的服务器上记录最新版本号,从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 call
NSString* jsonResponseString = [versionRequest responseString];
NSDictionary *loginAuthenticationResponse = [jsonResponseString objectFromJSONString];
NSArray *configData = [loginAuthenticationResponse valueForKey:@“results”];
for (id config in configData)
{
version = [config valueForKey:@“version”];
}
//Check your version with the version in app store
if (![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=&mt=8”;
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:iTunesLink]];
}
}
请求http://itunes.apple.com/lookup?id=954270 返回的数据给出的version为2.3, 与本地客户端版本号比较,即可判断有无更新。
在 iOS 应用中直接跳转到 AppStore 的方法
找到应用程序的描述链接,比如:http://itunes.apple.com/gb/app/yi-dong-cai-bian/id391945719?mt=8
然后将 http:// 替换为 itms:// 或者 itms-apps://:
itms://itunes.apple.com/gb/app/yi-dong-cai-bian/id391945719?mt=8
itms-apps:// itunes.apple.com/gb/app/yi-dong-cai-bian/id391945719?mt=8
然后打开这个链接地址:
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@“itms://itunes.apple.com/gb/app/yi-dong-cai-bian/id391945719?mt=8”]];
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@“itms-apps ://itunes.apple.com/gb/app/yi-dong-cai-bian/id391945719?mt=8”]];
这个最好在真机上面测试,在模拟器上测试,会没有效果。