ios - 比较 xcode 7 中的版本

标签 ios objective-c

我有这个代码来比较当前版本和可用版本:

NSString *currentVersion = [[NSString alloc]initWithFormat:@"%@", [[[NSBundle mainBundle] infoDictionary] objectForKey:@"CFBundleShortVersionString"]];

    NSError *error = nil;
    NSData *avaliableVersionData = [NSData dataWithContentsOfURL:[NSURL URLWithString:
                                                  @"http://update.blockade.tech/current-version"] options:0 error:&error];
    NSString *avaliableVersion = [[NSString alloc]initWithData:avaliableVersionData encoding:NSUTF8StringEncoding];
    if ([avaliableVersion compare:currentVersion options:NSNumericSearch] == NSOrderedDescending) {
        NSLog(@"lower");
    } else {
        NSLog(@"ok");
    }

但是当这些版本相同(0.1.2 和 0.1.2)时,它写入的内容会比当前版本低。这是为什么?

最佳答案

网络结果包含换行符。在 initWithData:... 调用之后和 if 语句之前删除换行符:

avaliableVersion = [avaliableVersion stringByReplacingOccurrencesOfString:@"\n" withString:@""];

关于ios - 比较 xcode 7 中的版本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32469789/

相关文章:

objective-c - 在您的应用程序中使用 GameKit/Game Center 会增加其二进制大小吗?

objective-c - 当用户回答 "App wants to use location services"时发送请求

ios - Objective-C : How to remove a white background from a JPG image without losing edge quality

ios 5 : Calling a block in iPhone twice for different values

ios - AVAudioPlayer 导致应用程序崩溃

objective-c - 我怎样才能更改此代码以使其不违反 MVC 原则?

ios - 从 NSMutableDictionary 获取 objectAtIndex

ios - 如何获取所有未决远程通知的数组?

ios - 有没有办法强制更改您的 iOS 推送通知 deviceToken?

ios - parse.com objective-c 获取PfUser对象及相关对象