Skip to content

Commit 805e890

Browse files
Update devices models
1 parent ab23282 commit 805e890

4 files changed

Lines changed: 48 additions & 8 deletions

File tree

Source/DeviceIdentifier.swift

Lines changed: 11 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,11 @@ internal struct DeviceIdentifier {
3939
case "iPhone12,1": return .iPhone11
4040
case "iPhone12,3": return .iPhone11Pro
4141
case "iPhone12,5": return .iPhone11ProMax
42+
case "iPhone12,8": return .iPhoneSE2G
43+
case "iPhone13,1": return .iPhone12Mini
44+
case "iPhone13,2": return .iPhone12
45+
case "iPhone13,3": return .iPhone12Pro
46+
case "iPhone13,4": return .iPhone12ProMax
4247

4348
case "iPod1,1": return .iPodTouch1G
4449
case "iPod2,1": return .iPodTouch2G
@@ -61,19 +66,23 @@ internal struct DeviceIdentifier {
6166
case "iPad4,1", "iPad4,2", "iPad4,3": return .iPadAir1G
6267
case "iPad5,3", "iPad5,4": return .iPadAir2G
6368
case "iPad11,3", "iPad11,4": return .iPadAir3G
69+
case "iPad13,1", "iPad13,2": return .iPadAir4G
6470

6571
case "iPad6,3", "iPad6,4": return .iPadPro9d7inch1G
6672
case "iPad7,3", "iPad7,4": return .iPadPro10d5inch1G
67-
case "iPad8,1", "iPad8,2": return .iPadPro11inch3G
68-
case "iPad8,3", "iPad8,4": return .iPadPro11inch3G
73+
case "iPad8,1", "iPad8,2": return .iPadPro11inch
74+
case "iPad8,3", "iPad8,4": return .iPadPro11inch
75+
case "iPad8,9", "iPad8,10": return .iPadPro11inch2G
6976
case "iPad6,7", "iPad6,8": return .iPadPro12d9inch1G
7077
case "iPad7,1", "iPad7,2": return .iPadPro12d9inch2G
7178
case "iPad8,5", "iPad8,6": return .iPadPro12d9inch3G
7279
case "iPad8,7", "iPad8,8": return .iPadPro12d9inch3G
80+
case "iPad8,11", "iPad8,12": return .iPadPro12d9inch4G
7381

7482
case "iPad6,11", "iPad6,12": return .iPad5G
7583
case "iPad7,5", "iPad7,6": return .iPad6G
7684
case "iPad7,11", "iPad7,12": return .iPad7G
85+
case "iPad11,6", "iPad11,7": return .iPad8G
7786

7887
case "AppleTV5,3": return .appleTV4G
7988
case "AppleTV6,2": return .appleTV4K

Source/DeviceModel+Name.swift

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,11 @@ public extension DeviceModel {
2727
case .iPhone11: return "iPhone 11"
2828
case .iPhone11Pro: return "iPhone 11 Pro"
2929
case .iPhone11ProMax: return "iPhone 11 Pro Max"
30+
case .iPhoneSE2G: return "iPhone SE 2G"
31+
case .iPhone12Mini: return "iPhone 12 Mini"
32+
case .iPhone12: return "iPhone 12"
33+
case .iPhone12Pro: return "iPhone 12 Pro"
34+
case .iPhone12ProMax: return "iPhone 12 Pro Max"
3035

3136
case .iPodTouch1G: return "iPod touch 1G"
3237
case .iPodTouch2G: return "iPod touch 2G"
@@ -48,17 +53,21 @@ public extension DeviceModel {
4853
case .iPadAir1G: return "iPad Air"
4954
case .iPadAir2G: return "iPad Air 2"
5055
case .iPadAir3G: return "iPad Air 3"
56+
case .iPadAir4G: return "iPad Air 4"
5157

5258
case .iPadPro9d7inch1G: return "iPad Pro 9.7-Inch 1G"
5359
case .iPadPro10d5inch1G: return "iPad Pro 10.5-Inch 1G"
54-
case .iPadPro11inch3G: return "iPad Pro 11-Inch 3G"
60+
case .iPadPro11inch: return "iPad Pro 11-Inch"
61+
case .iPadPro11inch2G: return "iPad Pro 11-Inch 2G"
5562
case .iPadPro12d9inch1G: return "iPad Pro 12.9-Inch 1G"
5663
case .iPadPro12d9inch2G: return "iPad Pro 12.9-Inch 2G"
5764
case .iPadPro12d9inch3G: return "iPad Pro 12.9-Inch 3G"
65+
case .iPadPro12d9inch4G: return "iPad Pro 12.9-Inch 4G"
5866

5967
case .iPad5G: return "iPad 5G"
6068
case .iPad6G: return "iPad 6G"
6169
case .iPad7G: return "iPad 7G"
70+
case .iPad8G: return "iPad 8G"
6271

6372
case .appleTV4G: return "Apple TV 4G"
6473
case .appleTV4K: return "Apple TV 4K"

Source/DeviceModel.swift

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,11 @@ public enum DeviceModel: Equatable {
2626
case iPhone11
2727
case iPhone11Pro
2828
case iPhone11ProMax
29+
case iPhoneSE2G
30+
case iPhone12Mini
31+
case iPhone12
32+
case iPhone12Pro
33+
case iPhone12ProMax
2934

3035
case iPodTouch1G
3136
case iPodTouch2G
@@ -47,17 +52,21 @@ public enum DeviceModel: Equatable {
4752
case iPadAir1G
4853
case iPadAir2G
4954
case iPadAir3G
55+
case iPadAir4G
5056

5157
case iPadPro9d7inch1G
5258
case iPadPro10d5inch1G
5359
case iPadPro12d9inch1G
5460
case iPadPro12d9inch2G
5561
case iPadPro12d9inch3G
56-
case iPadPro11inch3G
62+
case iPadPro12d9inch4G
63+
case iPadPro11inch
64+
case iPadPro11inch2G
5765

5866
case iPad5G
5967
case iPad6G
6068
case iPad7G
69+
case iPad8G
6170

6271
case appleTV4G
6372
case appleTV4K

Tests/DeviceIdentifierTests.swift

Lines changed: 17 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -48,6 +48,11 @@ public class DeviceIdentifierTests: XCTestCase {
4848
XCTAssertEqual(DeviceIdentifier("iPhone12,1").model, .iPhone11)
4949
XCTAssertEqual(DeviceIdentifier("iPhone12,3").model, .iPhone11Pro)
5050
XCTAssertEqual(DeviceIdentifier("iPhone12,5").model, .iPhone11ProMax)
51+
XCTAssertEqual(DeviceIdentifier("iPhone12,8").model, .iPhoneSE2G)
52+
XCTAssertEqual(DeviceIdentifier("iPhone13,1").model, .iPhone12Mini)
53+
XCTAssertEqual(DeviceIdentifier("iPhone13,2").model, .iPhone12)
54+
XCTAssertEqual(DeviceIdentifier("iPhone13,3").model, .iPhone12Pro)
55+
XCTAssertEqual(DeviceIdentifier("iPhone13,4").model, .iPhone12ProMax)
5156
}
5257

5358
public func testTabletIdentificators() {
@@ -85,17 +90,21 @@ public class DeviceIdentifierTests: XCTestCase {
8590
XCTAssertEqual(DeviceIdentifier("iPad5,4").model, .iPadAir2G)
8691
XCTAssertEqual(DeviceIdentifier("iPad11,3").model, .iPadAir3G)
8792
XCTAssertEqual(DeviceIdentifier("iPad11,4").model, .iPadAir3G)
93+
XCTAssertEqual(DeviceIdentifier("iPad13,1").model, .iPadAir4G)
94+
XCTAssertEqual(DeviceIdentifier("iPad13,2").model, .iPadAir4G)
8895
}
8996

9097
public func testProTabletIdentificators() {
9198
XCTAssertEqual(DeviceIdentifier("iPad6,3").model, .iPadPro9d7inch1G)
9299
XCTAssertEqual(DeviceIdentifier("iPad6,4").model, .iPadPro9d7inch1G)
93100
XCTAssertEqual(DeviceIdentifier("iPad7,3").model, .iPadPro10d5inch1G)
94101
XCTAssertEqual(DeviceIdentifier("iPad7,4").model, .iPadPro10d5inch1G)
95-
XCTAssertEqual(DeviceIdentifier("iPad8,1").model, .iPadPro11inch3G)
96-
XCTAssertEqual(DeviceIdentifier("iPad8,2").model, .iPadPro11inch3G)
97-
XCTAssertEqual(DeviceIdentifier("iPad8,3").model, .iPadPro11inch3G)
98-
XCTAssertEqual(DeviceIdentifier("iPad8,4").model, .iPadPro11inch3G)
102+
XCTAssertEqual(DeviceIdentifier("iPad8,1").model, .iPadPro11inch)
103+
XCTAssertEqual(DeviceIdentifier("iPad8,2").model, .iPadPro11inch)
104+
XCTAssertEqual(DeviceIdentifier("iPad8,3").model, .iPadPro11inch)
105+
XCTAssertEqual(DeviceIdentifier("iPad8,4").model, .iPadPro11inch)
106+
XCTAssertEqual(DeviceIdentifier("iPad8,9").model, .iPadPro11inch2G)
107+
XCTAssertEqual(DeviceIdentifier("iPad8,10").model, .iPadPro11inch2G)
99108
XCTAssertEqual(DeviceIdentifier("iPad6,7").model, .iPadPro12d9inch1G)
100109
XCTAssertEqual(DeviceIdentifier("iPad6,8").model, .iPadPro12d9inch1G)
101110
XCTAssertEqual(DeviceIdentifier("iPad7,1").model, .iPadPro12d9inch2G)
@@ -104,13 +113,17 @@ public class DeviceIdentifierTests: XCTestCase {
104113
XCTAssertEqual(DeviceIdentifier("iPad8,6").model, .iPadPro12d9inch3G)
105114
XCTAssertEqual(DeviceIdentifier("iPad8,7").model, .iPadPro12d9inch3G)
106115
XCTAssertEqual(DeviceIdentifier("iPad8,8").model, .iPadPro12d9inch3G)
116+
XCTAssertEqual(DeviceIdentifier("iPad8,11").model, .iPadPro12d9inch4G)
117+
XCTAssertEqual(DeviceIdentifier("iPad8,12").model, .iPadPro12d9inch4G)
107118

108119
XCTAssertEqual(DeviceIdentifier("iPad6,11").model, .iPad5G)
109120
XCTAssertEqual(DeviceIdentifier("iPad6,12").model, .iPad5G)
110121
XCTAssertEqual(DeviceIdentifier("iPad7,5").model, .iPad6G)
111122
XCTAssertEqual(DeviceIdentifier("iPad7,6").model, .iPad6G)
112123
XCTAssertEqual(DeviceIdentifier("iPad7,11").model, .iPad7G)
113124
XCTAssertEqual(DeviceIdentifier("iPad7,12").model, .iPad7G)
125+
XCTAssertEqual(DeviceIdentifier("iPad11,6").model, .iPad8G)
126+
XCTAssertEqual(DeviceIdentifier("iPad11,7").model, .iPad8G)
114127
}
115128

116129
public func testIPodIdentificators() {

0 commit comments

Comments
 (0)