 
 	/// All real-device values.
 	public static let allValues: [Device] = [
-			.iPhone4S,
-			.iPhone5,
-			.iPhone5c,
-			.iPhone5s,
-			.iPhone6,
-			.iPhone6Plus,
-			.iPhone6s,
-			.iPhone6sPlus,
-			.iPhoneSE,
-			.iPhone7,
-			.iPhone7Plus,
-			.iPodTouch5G,
-			.iPodTouch6G,
-			.appleTV4,
-			.watch,
-			.watchSeries1,
-			.watchSeries2,
-			.iPad2,
-			.iPad3,
-			.iPad4,
-			.iPad5,
-			.iPadAir,
-			.iPadAir2,
-			.iPadPro12Inch,
-			.iPadPro9Inch,
-			.iPadPro12Inch2G,
-			.iPadPro10Inch,
-			.iPadMini,
-			.iPadMini2,
-			.iPadMini3,
-			.iPadMini4,
+		.iPhone4S,
+		.iPhone5,
+		.iPhone5c,
+		.iPhone5s,
+		.iPhone6,
+		.iPhone6Plus,
+		.iPhone6s,
+		.iPhone6sPlus,
+		.iPhoneSE,
+		.iPhone7,
+		.iPhone7Plus,
+		.iPhone8,
+		.iPhone8Plus,
+		.iPhoneX,
+		.iPodTouch5G,
+		.iPodTouch6G,
+		.appleTV4,
+		.appleTV4K,
+		.watch,
+		.watchSeries1,
+		.watchSeries2,
+		.watchSeries3,
+		.iPad2,
+		.iPad3,
+		.iPad4,
+		.iPad5,
+		.iPadAir,
+		.iPadAir2,
+		.iPadPro12Inch,
+		.iPadPro9Inch,
+		.iPadPro12Inch2G,
+		.iPadPro10Inch,
+		.iPadMini,
+		.iPadMini2,
+		.iPadMini3,
+		.iPadMini4,
 	]
 
 }
 
 public extension Device {
-
 
 	/// Inspects the current device.
 	public init() {

			 .iPhone6sPlus,
			 .iPhoneSE,
			 .iPhone7,
			 .iPhone7Plus:
			return .phone

		case .iPodTouch5G,
			 .iPodTouch6G:
			return .pod

		case .appleTV4:
			return .tv

		case .watch,
			 .watchSeries1,
			 .watchSeries2:
			return .watch

		case .iPad2,

		case .iPadAir2:
			return "iPad Air 2"
		case .iPadPro12Inch:
			return "12.9-inch iPad Pro"
		case .iPadPro9Inch:
			return "9.7-inch iPad Pro"
		case .iPadPro12Inch2G:
			return "12.9-inch iPad Pro (2nd generation)"
		case .iPadPro10Inch:
			return "10.5-inch iPad Pro"

		case .iPodTouch5G:
			return "iPod touch (5th generation)"
