@@ -31,6 +31,25 @@ public struct NSOperatingSystemVersion {
31
31
}
32
32
}
33
33
34
+ extension NSOperatingSystemVersion : Comparable {
35
+ public init ( _ majorVersion: Int , _ minorVersion: Int , _ patchVersion: Int ) {
36
+ self . init ( majorVersion: majorVersion, minorVersion: minorVersion, patchVersion: patchVersion)
37
+ }
38
+ }
39
+
40
+ public func == ( lhs: NSOperatingSystemVersion , rhs: NSOperatingSystemVersion ) -> Bool {
41
+ let lhsTuple = ( lhs. majorVersion, lhs. minorVersion, lhs. patchVersion)
42
+ let rhsTuple = ( rhs. majorVersion, rhs. minorVersion, rhs. patchVersion)
43
+
44
+ return lhsTuple == rhsTuple
45
+ }
46
+
47
+ public func < ( lhs: NSOperatingSystemVersion , rhs: NSOperatingSystemVersion ) -> Bool {
48
+ let lhsTuple = ( lhs. majorVersion, lhs. minorVersion, lhs. patchVersion)
49
+ let rhsTuple = ( rhs. majorVersion, rhs. minorVersion, rhs. patchVersion)
50
+
51
+ return lhsTuple < rhsTuple
52
+ }
34
53
35
54
36
55
public class NSProcessInfo : NSObject {
@@ -123,26 +142,7 @@ public class NSProcessInfo : NSObject {
123
142
}
124
143
125
144
public func isOperatingSystemAtLeastVersion( version: NSOperatingSystemVersion ) -> Bool {
126
- let ourVersion = operatingSystemVersion
127
- if ourVersion. majorVersion < version. majorVersion {
128
- return false
129
- }
130
- if ourVersion. majorVersion > version. majorVersion {
131
- return true
132
- }
133
- if ourVersion. minorVersion < version. minorVersion {
134
- return false
135
- }
136
- if ourVersion. minorVersion > version. minorVersion {
137
- return true
138
- }
139
- if ourVersion. patchVersion < version. patchVersion {
140
- return false
141
- }
142
- if ourVersion. patchVersion > version. patchVersion {
143
- return true
144
- }
145
- return true
145
+ return operatingSystemVersion >= version
146
146
}
147
147
148
148
public var systemUptime : NSTimeInterval {
0 commit comments