Help us understand the problem. What is going on with this article?

【iOS】アプリバージョンの簡単比較

More than 3 years have passed since last update.

NSComparisonResultを使うと簡単に比較できる

やり方

Swift

let compareVersion: String = "1.1.0"
let currentVersion: String = NSBundle.mainBundle().infoDictionary?["CFBundleShortVersionString"] as! String // 1.0.0

if compareVersion.compare(currentVersion) == .OrderedAscending {
    print("現在のバージョンより下です")
} else {
    print("現在のバージョンより上です") // この場合はこちらが出力される
}

Objective-C

NSString* compareVersion = @"1.1.0";
NSString* currentVersion = [[NSBundle mainBundle] infoDictionary][@"CFBundleShortVersionString"]; // 1.0.0

if ([compareVersion compare:currentVersion options:NSNumericSearch] == NSOrderedAscending) {
    NSLog(@"現在のバージョンより下です");
} else {
    NSLog(@"現在のバージョンより上です"); // この場合はこちらが出力される
}

注意

バージョンコードが同じとき、.で区切る数で結果が変わるので気をつける

例えば、currentVersion1.0.0のとき、
比較するバージョンが1.0の場合は、currentVersionより下
比較するバージョンが1.0.0の場合は、currentVersionより上、
比較するバージョンが1.0.0.0の場合は、currentVersionより上になる

bm-sms
高齢社会に適した情報インフラを構築することで価値を創造し社会に貢献し続ける
https://www.bm-sms.co.jp/
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away