2013年09月15日

 虽然App Store能够提醒用户软件更新,但很多用户不会主动去更新一大堆的软件(我机器上待更新的软件在100个左右)。如果在软件开启时提醒用户更新 或者 更多中设置“检查更新”项,效果会好很多。

通常的做法是在自己的服务器上记录最新版本号,从iOS客户端请求,与本地版本号比较,不同则提示更新。这种做法简单,缺点是需要单独的服务器支持。

通过查阅相关文章,找到了如下方法,与上述方法类似,不过不需要另外的服务器支持。此为检查更新的最优方法。

NSString *version = @"";

NSURL *url = [NSURL URLWithString:@"http://itunes.apple.com/lookup?id=<Your app ID>"];

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=<appid>&mt=8";

        [[UIApplication sharedApplication] openURL:[NSURL URLWithString:iTunesLink]];

    }

}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值