Apache Maven 的 VersionComparator 类的 Objective-C 版本。这个库将支持比较任何符合标准 Maven 2.x 版本号规则的字符串。
#import "NSString+GSVersionComparator.h"
// Compare iOS versions
if ([[UIDevice currentDevice].systemVersion gs_versionLessThan:@"7.0"]) {
// Do something specific for iOS 6 and below
}
// Compare arbitrary version strings
NSURL *apiEndpoint = [NSURL URLWithString:@"http://example.com/2.0/resource"];
NSString *versionComponent = apiEndpoint.pathComponents[1];
NSString *supportedAPIVersion = @"2";
if ([versionComponent gs_versionEquals:supportedAPIVersion]) {
// Your client supports this api version, it's safe to proceed
}
// Compare complex version strings like '1' and '1.0-0'
BOOL test = [@"1" gs_versionEquals:@"1.0-0"]; // Returns YES
BOOL test = [@"1.0.b" gs_versionGreaterThan:@"1.0.a"]; // Returns YES
BOOL test = [@"1.0" gs_versionLessThan:@"1.0-SNAPSHOT"]; // Returns NO
查看 单元测试 获取更多支持的版本字符串示例。
Ryan Brignoni
推特: @RyanBrignoni
GSVersionComparator 可在 Apache v2 许可证下使用。有关更多信息,请参阅 LICENSE 文件。