zoukankan      html  css  js  c++  java
  • 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 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]];
        }
    }

    请求http://itunes.apple.com/lookup?id=954270返回的数据给出的version为2.3, 与本地客户端版本号比较,即可判断有无更新。

  • 相关阅读:
    爬虫入门系列(一):快速理解HTTP协议
    python爬虫如何入门
    利用python基于微博数据打造一颗“心”
    Python 爬虫:把廖雪峰教程转换成 PDF 电子书
    用python爬取微博数据并生成词云
    4本相见恨晚的Linux入门书籍
    程序员薪酬大调查:学哪种语言最赚钱?
    无人车时代:用深度学习辅助行人检测
    老大哥在看着你!我国部署超2000万个AI监控系统
    以彼之道,还施彼身——使用机器学习来揪出作弊的玩家
  • 原文地址:https://www.cnblogs.com/hanzhuzi/p/4257561.html
Copyright © 2011-2022 走看看