@@ -48,14 +48,18 @@ import UIKit
48
48
///
49
49
public enum Device {
50
50
#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)
52
52
///
53
53
/// 
54
54
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)
56
56
///
57
57
/// 
58
58
case iPodTouch6
59
+ /// Device is an [iPod touch (7th generation)](https://support.apple.com/kb/SP796)
60
+ ///
61
+ /// 
62
+ case iPodTouch7
59
63
/// Device is an [iPhone 4](https://support.apple.com/kb/SP587)
60
64
///
61
65
/// 
@@ -298,6 +302,7 @@ public enum Device {
298
302
switch identifier {
299
303
case " iPod5,1 " : return iPodTouch5
300
304
case " iPod7,1 " : return iPodTouch6
305
+ case " iPod9,1 " : return iPodTouch7
301
306
case " iPhone3,1 " , " iPhone3,2 " , " iPhone3,3 " : return iPhone4
302
307
case " iPhone4,1 " : return iPhone4s
303
308
case " iPhone5,1 " , " iPhone5,2 " : return iPhone5
@@ -386,6 +391,7 @@ public enum Device {
386
391
switch self {
387
392
case . iPodTouch5: return 4
388
393
case . iPodTouch6: return 4
394
+ case . iPodTouch7: return 4
389
395
case . iPhone4: return 3.5
390
396
case . iPhone4s: return 3.5
391
397
case . iPhone5: return 4
@@ -452,6 +458,7 @@ public enum Device {
452
458
switch self {
453
459
case . iPodTouch5: return ( width: 9 , height: 16 )
454
460
case . iPodTouch6: return ( width: 9 , height: 16 )
461
+ case . iPodTouch7: return ( width: 9 , height: 16 )
455
462
case . iPhone4: return ( width: 2 , height: 3 )
456
463
case . iPhone4s: return ( width: 2 , height: 3 )
457
464
case . iPhone5: return ( width: 9 , height: 16 )
@@ -516,7 +523,7 @@ public enum Device {
516
523
#if os(iOS)
517
524
/// All iPods
518
525
public static var allPods : [ Device ] {
519
- return [ . iPodTouch5, . iPodTouch6]
526
+ return [ . iPodTouch5, . iPodTouch6, . iPodTouch7 ]
520
527
}
521
528
522
529
/// All iPhones
@@ -823,6 +830,7 @@ public enum Device {
823
830
switch self {
824
831
case . iPodTouch5: return 326
825
832
case . iPodTouch6: return 326
833
+ case . iPodTouch7: return 326
826
834
case . iPhone4: return 326
827
835
case . iPhone4s: return 326
828
836
case . iPhone5: return 326
@@ -914,8 +922,9 @@ extension Device: CustomStringConvertible {
914
922
public var description : String {
915
923
#if os(iOS)
916
924
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) "
919
928
case . iPhone4: return " iPhone 4 "
920
929
case . iPhone4s: return " iPhone 4s "
921
930
case . iPhone5: return " iPhone 5 "
@@ -1269,6 +1278,7 @@ extension Device {
1269
1278
switch self {
1270
1279
case . iPodTouch5: return [ . normal]
1271
1280
case . iPodTouch6: return [ . normal]
1281
+ case . iPodTouch7: return [ . normal]
1272
1282
case . iPhone4: return [ . normal]
1273
1283
case . iPhone4s: return [ . normal]
1274
1284
case . iPhone5: return [ . normal]
@@ -1312,12 +1322,12 @@ extension Device {
1312
1322
1313
1323
/// All devices that feature a camera
1314
1324
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]
1316
1326
}
1317
1327
1318
1328
/// All devices that feature a normal camera
1319
1329
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]
1321
1331
}
1322
1332
1323
1333
/// All devices that feature a telephoto camera
0 commit comments