-
Notifications
You must be signed in to change notification settings - Fork 826
/
Copy pathVersion.swift
58 lines (48 loc) · 1.23 KB
/
Version.swift
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
import Foundation
import ProjectSpec
extension Project {
public var xcodeVersion: String {
XCodeVersion.parse(options.xcodeVersion ?? "14.3")
}
var schemeVersion: String {
"1.7"
}
var compatibilityVersion: String {
"Xcode 14.0"
}
var objectVersion: UInt {
70
}
var minimizedProjectReferenceProxies: Int {
1
}
}
public struct XCodeVersion {
public static func parse(_ version: String) -> String {
if version.contains(".") {
let parts = version.split(separator: ".").map(String.init)
var string = ""
let major = parts[0]
if major.count == 1 {
string = "0\(major)"
} else {
string = major
}
let minor = parts[1]
string += minor
if parts.count > 2 {
let patch = parts[2]
string += patch
} else {
string += "0"
}
return string
} else if version.count == 2 {
return "\(version)00"
} else if version.count == 1 {
return "0\(version)00"
} else {
return version
}
}
}