zoukankan      html  css  js  c++  java
  • IOS问题汇总:2014-12-11 iOS应用检查更新的最优方法附代码(转)+在 iOS 应用中直接跳转到 AppStore 的方法

      虽然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”]];

    这个最好在真机上面测试,在模拟器上测试,会没有效果。

  • 相关阅读:
    高燕师姐博客
    2015.1.12
    功能连接分析论文
    半结构化面试
    各大银行
    独立思考者模型:用专家的思维思考问题
    独立思考者模型:避开思维误区的沼泽
    独立思考者模型:寻找潜藏在表象背后的真相
    独立思考者模型:如何分辨信息的真伪
    独立思考者模型:你相信灵魂转世假说吗?
  • 原文地址:https://www.cnblogs.com/hanyutong/p/4424947.html
Copyright © 2011-2022 走看看