@@ -1049,6 +1049,16 @@ public enum Device {
10491049 return isOneOf ( Device . allDevicesWithRoundedDisplayCorners) || isOneOf ( Device . allDevicesWithRoundedDisplayCorners. map ( Device . simulator) )
10501050 }
10511051
1052+ /// All devices that have the Dynamic Island.
1053+ public static var allDevicesWithDynamicIsland : [ Device ] {
1054+ return [ . iPhone14Pro, . iPhone14ProMax, . iPhone15, . iPhone15Plus, . iPhone15Pro, . iPhone15ProMax]
1055+ }
1056+
1057+ /// Returns whether or not the device has the Dynamic Island.
1058+ public var hasDynamicIsland : Bool {
1059+ return isOneOf ( Device . allDevicesWithDynamicIsland) || isOneOf ( Device . allDevicesWithDynamicIsland. map ( Device . simulator) )
1060+ }
1061+
10521062 /// All devices that have 3D Touch support.
10531063 public static var allDevicesWith3dTouchSupport : [ Device ] {
10541064 return [ . iPhone6s, . iPhone6sPlus, . iPhone7, . iPhone7Plus, . iPhone8, . iPhone8Plus, . iPhoneX, . iPhoneXS, . iPhoneXSMax]
@@ -1069,6 +1079,16 @@ public enum Device {
10691079 return isOneOf ( Device . allDevicesWithWirelessChargingSupport) || isOneOf ( Device . allDevicesWithWirelessChargingSupport. map ( Device . simulator) )
10701080 }
10711081
1082+ /// All devices that support 5G.
1083+ public static var allDevicesWith5gSupport : [ Device ] {
1084+ return [ . iPhone12, . iPhone12Mini, . iPhone12Pro, . iPhone12ProMax, . iPhone13, . iPhone13Mini, . iPhone13Pro, . iPhone13ProMax, . iPhoneSE3, . iPhone14, . iPhone14Plus, . iPhone14Pro, . iPhone14ProMax, . iPhone15, . iPhone15Plus, . iPhone15Pro, . iPhone15ProMax, . iPad10, . iPadAir5, . iPadMini6, . iPadPro11Inch3, . iPadPro12Inch5, . iPadPro11Inch4, . iPadPro12Inch6]
1085+ }
1086+
1087+ /// Returns whether or not the device has 5G support.
1088+ public var has5gSupport : Bool {
1089+ return isOneOf ( Device . allDevicesWith5gSupport) || isOneOf ( Device . allDevicesWith5gSupport. map ( Device . simulator) )
1090+ }
1091+
10721092 /// All devices that have a LiDAR sensor.
10731093 public static var allDevicesWithALidarSensor : [ Device ] {
10741094 return [ . iPhone12Pro, . iPhone12ProMax, . iPhone13Pro, . iPhone13ProMax, . iPhone14Pro, . iPhone14ProMax, . iPhone15Pro, . iPhone15ProMax, . iPadPro11Inch2, . iPadPro12Inch4, . iPadPro11Inch3, . iPadPro12Inch5, . iPadPro11Inch4, . iPadPro12Inch6]
@@ -1078,6 +1098,16 @@ public enum Device {
10781098 public var hasLidarSensor : Bool {
10791099 return isOneOf ( Device . allDevicesWithALidarSensor) || isOneOf ( Device . allDevicesWithALidarSensor. map ( Device . simulator) )
10801100 }
1101+
1102+ /// All devices that have a USB-C connectivity.
1103+ public static var allDevicesWithUSBCConnectivity : [ Device ] {
1104+ return [ . iPhone15, . iPhone15Plus, . iPhone15Pro, . iPhone15ProMax, . iPad10, . iPadAir4, . iPadAir5, . iPadMini6, . iPadPro11Inch, . iPadPro12Inch3, . iPadPro11Inch2, . iPadPro12Inch4, . iPadPro11Inch3, . iPadPro12Inch5, . iPadPro11Inch4, . iPadPro12Inch6]
1105+ }
1106+
1107+ /// Returns whether or not the device has a USB-C power supply.
1108+ public var hasUSBCConnectivity : Bool {
1109+ return isOneOf ( Device . allDevicesWithUSBCConnectivity) || isOneOf ( Device . allDevicesWithUSBCConnectivity. map ( Device . simulator) )
1110+ }
10811111 #elseif os(tvOS)
10821112 /// All TVs
10831113 public static var allTVs : [ Device ] {
0 commit comments