Skip to content

Commit 1b473ef

Browse files
Zandor300denisenepraunig
authored andcommitted
New iPod touch (7th generation) and correct name of others (devicekit#189)
* Add iPod Touch (7th generation) support. * Rename iPod touch 5 and 6 to their proper name. iPod touch (5th generation) and iPod touch (6th generation). * Fixed capitalization in description. * Set camera setting on iPods. * Fixed description unit test.
1 parent f83399f commit 1b473ef

File tree

3 files changed

+23
-11
lines changed

3 files changed

+23
-11
lines changed

Source/Device.generated.swift

Lines changed: 17 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -48,14 +48,18 @@ import UIKit
4848
///
4949
public enum Device {
5050
#if os(iOS)
51-
/// Device is an [iPod Touch (5th generation)](https://support.apple.com/kb/SP657)
51+
/// Device is an [iPod touch (5th generation)](https://support.apple.com/kb/SP657)
5252
///
5353
/// ![Image](https://support.apple.com/library/APPLE/APPLECARE_ALLGEOS/SP657/sp657_ipod-touch_size.jpg)
5454
case iPodTouch5
55-
/// Device is an [iPod Touch (6th generation)](https://support.apple.com/kb/SP720)
55+
/// Device is an [iPod touch (6th generation)](https://support.apple.com/kb/SP720)
5656
///
5757
/// ![Image](https://support.apple.com/library/APPLE/APPLECARE_ALLGEOS/SP720/SP720-ipod-touch-specs-color-sg-2015.jpg)
5858
case iPodTouch6
59+
/// Device is an [iPod touch (7th generation)](https://support.apple.com/kb/SP796)
60+
///
61+
/// ![Image](https://support.apple.com/library/APPLE/APPLECARE_ALLGEOS/SP796/ipod-touch-7th-gen_2x.png)
62+
case iPodTouch7
5963
/// Device is an [iPhone 4](https://support.apple.com/kb/SP587)
6064
///
6165
/// ![Image](https://support.apple.com/library/APPLE/APPLECARE_ALLGEOS/SP643/sp643_iphone4s_color_black.jpg)
@@ -298,6 +302,7 @@ public enum Device {
298302
switch identifier {
299303
case "iPod5,1": return iPodTouch5
300304
case "iPod7,1": return iPodTouch6
305+
case "iPod9,1": return iPodTouch7
301306
case "iPhone3,1", "iPhone3,2", "iPhone3,3": return iPhone4
302307
case "iPhone4,1": return iPhone4s
303308
case "iPhone5,1", "iPhone5,2": return iPhone5
@@ -386,6 +391,7 @@ public enum Device {
386391
switch self {
387392
case .iPodTouch5: return 4
388393
case .iPodTouch6: return 4
394+
case .iPodTouch7: return 4
389395
case .iPhone4: return 3.5
390396
case .iPhone4s: return 3.5
391397
case .iPhone5: return 4
@@ -452,6 +458,7 @@ public enum Device {
452458
switch self {
453459
case .iPodTouch5: return (width: 9, height: 16)
454460
case .iPodTouch6: return (width: 9, height: 16)
461+
case .iPodTouch7: return (width: 9, height: 16)
455462
case .iPhone4: return (width: 2, height: 3)
456463
case .iPhone4s: return (width: 2, height: 3)
457464
case .iPhone5: return (width: 9, height: 16)
@@ -516,7 +523,7 @@ public enum Device {
516523
#if os(iOS)
517524
/// All iPods
518525
public static var allPods: [Device] {
519-
return [.iPodTouch5, .iPodTouch6]
526+
return [.iPodTouch5, .iPodTouch6, .iPodTouch7]
520527
}
521528

522529
/// All iPhones
@@ -823,6 +830,7 @@ public enum Device {
823830
switch self {
824831
case .iPodTouch5: return 326
825832
case .iPodTouch6: return 326
833+
case .iPodTouch7: return 326
826834
case .iPhone4: return 326
827835
case .iPhone4s: return 326
828836
case .iPhone5: return 326
@@ -914,8 +922,9 @@ extension Device: CustomStringConvertible {
914922
public var description: String {
915923
#if os(iOS)
916924
switch self {
917-
case .iPodTouch5: return "iPod Touch 5"
918-
case .iPodTouch6: return "iPod Touch 6"
925+
case .iPodTouch5: return "iPod touch (5th generation)"
926+
case .iPodTouch6: return "iPod touch (6th generation)"
927+
case .iPodTouch7: return "iPod touch (7th generation)"
919928
case .iPhone4: return "iPhone 4"
920929
case .iPhone4s: return "iPhone 4s"
921930
case .iPhone5: return "iPhone 5"
@@ -1269,6 +1278,7 @@ extension Device {
12691278
switch self {
12701279
case .iPodTouch5: return [.normal]
12711280
case .iPodTouch6: return [.normal]
1281+
case .iPodTouch7: return [.normal]
12721282
case .iPhone4: return [.normal]
12731283
case .iPhone4s: return [.normal]
12741284
case .iPhone5: return [.normal]
@@ -1312,12 +1322,12 @@ extension Device {
13121322

13131323
/// All devices that feature a camera
13141324
public static var allDevicesWithCamera: [Device] {
1315-
return [.iPodTouch5, .iPodTouch6, .iPhone4, .iPhone4s, .iPhone5, .iPhone5c, .iPhone5s, .iPhone6, .iPhone6Plus, .iPhone6s, .iPhone6sPlus, .iPhone7, .iPhone7Plus, .iPhoneSE, .iPhone8, .iPhone8Plus, .iPhoneX, .iPhoneXS, .iPhoneXSMax, .iPhoneXR, .iPad2, .iPad3, .iPad4, .iPadAir, .iPadAir2, .iPad5, .iPad6, .iPadAir3, .iPadMini, .iPadMini2, .iPadMini3, .iPadMini4, .iPadMini5, .iPadPro9Inch, .iPadPro12Inch, .iPadPro12Inch2, .iPadPro10Inch, .iPadPro11Inch, .iPadPro12Inch3]
1325+
return [.iPodTouch5, .iPodTouch6, .iPodTouch7, .iPhone4, .iPhone4s, .iPhone5, .iPhone5c, .iPhone5s, .iPhone6, .iPhone6Plus, .iPhone6s, .iPhone6sPlus, .iPhone7, .iPhone7Plus, .iPhoneSE, .iPhone8, .iPhone8Plus, .iPhoneX, .iPhoneXS, .iPhoneXSMax, .iPhoneXR, .iPad2, .iPad3, .iPad4, .iPadAir, .iPadAir2, .iPad5, .iPad6, .iPadAir3, .iPadMini, .iPadMini2, .iPadMini3, .iPadMini4, .iPadMini5, .iPadPro9Inch, .iPadPro12Inch, .iPadPro12Inch2, .iPadPro10Inch, .iPadPro11Inch, .iPadPro12Inch3]
13161326
}
13171327

13181328
/// All devices that feature a normal camera
13191329
public static var allDevicesWithNormalCamera: [Device] {
1320-
return [.iPodTouch5, .iPodTouch6, .iPhone4, .iPhone4s, .iPhone5, .iPhone5c, .iPhone5s, .iPhone6, .iPhone6Plus, .iPhone6s, .iPhone6sPlus, .iPhone7, .iPhone7Plus, .iPhoneSE, .iPhone8, .iPhone8Plus, .iPhoneX, .iPhoneXS, .iPhoneXSMax, .iPhoneXR, .iPad2, .iPad3, .iPad4, .iPadAir, .iPadAir2, .iPad5, .iPad6, .iPadAir3, .iPadMini, .iPadMini2, .iPadMini3, .iPadMini4, .iPadMini5, .iPadPro9Inch, .iPadPro12Inch, .iPadPro12Inch2, .iPadPro10Inch, .iPadPro11Inch, .iPadPro12Inch3]
1330+
return [.iPodTouch5, .iPodTouch6, .iPodTouch7, .iPhone4, .iPhone4s, .iPhone5, .iPhone5c, .iPhone5s, .iPhone6, .iPhone6Plus, .iPhone6s, .iPhone6sPlus, .iPhone7, .iPhone7Plus, .iPhoneSE, .iPhone8, .iPhone8Plus, .iPhoneX, .iPhoneXS, .iPhoneXSMax, .iPhoneXR, .iPad2, .iPad3, .iPad4, .iPadAir, .iPadAir2, .iPad5, .iPad6, .iPadAir3, .iPadMini, .iPadMini2, .iPadMini3, .iPadMini4, .iPadMini5, .iPadPro9Inch, .iPadPro12Inch, .iPadPro12Inch2, .iPadPro10Inch, .iPadPro11Inch, .iPadPro12Inch3]
13211331
}
13221332

13231333
/// All devices that feature a telephoto camera

Source/Device.swift.gyb

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -35,8 +35,9 @@ class Device:
3535

3636
# iOS
3737
iPods = [
38-
Device("iPodTouch5", "Device is an [iPod Touch (5th generation)](https://support.apple.com/kb/SP657)", "https://support.apple.com/library/APPLE/APPLECARE_ALLGEOS/SP657/sp657_ipod-touch_size.jpg", ["iPod5,1"], 4, (9, 16), "iPod Touch 5", 326, False, False, False, False, False, False, False, False, 0, False, 1),
39-
Device("iPodTouch6", "Device is an [iPod Touch (6th generation)](https://support.apple.com/kb/SP720)", "https://support.apple.com/library/APPLE/APPLECARE_ALLGEOS/SP720/SP720-ipod-touch-specs-color-sg-2015.jpg", ["iPod7,1"], 4, (9, 16), "iPod Touch 6", 326, False, False, False, False, False, False, False, False, 0, False, 1)
38+
Device("iPodTouch5", "Device is an [iPod touch (5th generation)](https://support.apple.com/kb/SP657)", "https://support.apple.com/library/APPLE/APPLECARE_ALLGEOS/SP657/sp657_ipod-touch_size.jpg", ["iPod5,1"], 4, (9, 16), "iPod touch (5th generation)", 326, False, False, False, False, False, False, False, False, 0, False, 1),
39+
Device("iPodTouch6", "Device is an [iPod touch (6th generation)](https://support.apple.com/kb/SP720)", "https://support.apple.com/library/APPLE/APPLECARE_ALLGEOS/SP720/SP720-ipod-touch-specs-color-sg-2015.jpg", ["iPod7,1"], 4, (9, 16), "iPod touch (6th generation)", 326, False, False, False, False, False, False, False, False, 0, False, 1),
40+
Device("iPodTouch7", "Device is an [iPod touch (7th generation)](https://support.apple.com/kb/SP796)", "https://support.apple.com/library/APPLE/APPLECARE_ALLGEOS/SP796/ipod-touch-7th-gen_2x.png", ["iPod9,1"], 4, (9, 16), "iPod touch (7th generation)", 326, False, False, False, False, False, False, False, False, 0, False, 1)
4041
]
4142

4243
iPhones = [

Tests/Tests.swift

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -230,8 +230,9 @@ class DeviceKitTests: XCTestCase {
230230
}
231231

232232
func testDescription() { // swiftlint:disable:this function_body_length
233-
XCTAssertEqual(Device.iPodTouch5.description, "iPod Touch 5")
234-
XCTAssertEqual(Device.iPodTouch6.description, "iPod Touch 6")
233+
XCTAssertEqual(Device.iPodTouch5.description, "iPod touch (5th generation)")
234+
XCTAssertEqual(Device.iPodTouch6.description, "iPod touch (6th generation)")
235+
XCTAssertEqual(Device.iPodTouch7.description, "iPod touch (7th generation)")
235236
XCTAssertEqual(Device.iPhone4.description, "iPhone 4")
236237
XCTAssertEqual(Device.iPhone4s.description, "iPhone 4s")
237238
XCTAssertEqual(Device.iPhone5.description, "iPhone 5")

0 commit comments

Comments
 (0)