@@ -125,24 +125,20 @@ impl Display for XcodeVersion {
125125
126126pub ( crate ) fn get_supported_configs ( ) -> Vec < ( Option < IosDevice > , Option < OsVersion > ) > {
127127 vec ! [
128- ( Some ( IosDevice :: IPhone15 ) , Some ( OsVersion :: Ios17_5 ) ) ,
129- ( Some ( IosDevice :: IPhone15Pro ) , Some ( OsVersion :: Ios17_5 ) ) ,
130- ( Some ( IosDevice :: IPhone15ProMax ) , Some ( OsVersion :: Ios17_5 ) ) ,
131- ( Some ( IosDevice :: IPhone11 ) , Some ( OsVersion :: Ios17_5 ) ) ,
128+ // iOS-18-2
129+ ( Some ( IosDevice :: IPhone11 ) , Some ( OsVersion :: Ios18_2 ) ) ,
132130 ( Some ( IosDevice :: IPhone16 ) , Some ( OsVersion :: Ios18_2 ) ) ,
133131 ( Some ( IosDevice :: IPhone16Pro ) , Some ( OsVersion :: Ios18_2 ) ) ,
134132 ( Some ( IosDevice :: IPhone16ProMax ) , Some ( OsVersion :: Ios18_2 ) ) ,
135133 ( Some ( IosDevice :: IPhone16Plus ) , Some ( OsVersion :: Ios18_2 ) ) ,
136- ( Some ( IosDevice :: IPhone11 ) , Some ( OsVersion :: Ios18_2 ) ) ,
134+ // iOS-18-4
135+ ( Some ( IosDevice :: IPhone11 ) , Some ( OsVersion :: Ios18_4 ) ) ,
137136 ( Some ( IosDevice :: IPhone16 ) , Some ( OsVersion :: Ios18_4 ) ) ,
138137 ( Some ( IosDevice :: IPhone16Pro ) , Some ( OsVersion :: Ios18_4 ) ) ,
139138 ( Some ( IosDevice :: IPhone16ProMax ) , Some ( OsVersion :: Ios18_4 ) ) ,
140139 ( Some ( IosDevice :: IPhone16Plus ) , Some ( OsVersion :: Ios18_4 ) ) ,
141- ( Some ( IosDevice :: IPhone11 ) , Some ( OsVersion :: Ios18_4 ) ) ,
140+ // iOS-26-1
142141 ( Some ( IosDevice :: IPhone16Pro ) , Some ( OsVersion :: Ios26_1 ) ) ,
143- ( Some ( IosDevice :: IPhone16Pro ) , Some ( OsVersion :: Ios18_4 ) ) ,
144- ( Some ( IosDevice :: IPhone16Pro ) , Some ( OsVersion :: Ios18_2 ) ) ,
145- ( Some ( IosDevice :: IPhone16Pro ) , Some ( OsVersion :: Ios17_5 ) ) ,
146142 ( Some ( IosDevice :: IPhone17 ) , Some ( OsVersion :: Ios26_1 ) ) ,
147143 ( Some ( IosDevice :: IPhone17Pro ) , Some ( OsVersion :: Ios26_1 ) ) ,
148144 ( Some ( IosDevice :: IPhone17ProMax ) , Some ( OsVersion :: Ios26_1 ) ) ,
@@ -402,21 +398,23 @@ async fn validate_device_configuration(
402398 message : "
403399Please set --xcode-version, --os-version, and --device correctly.
404400Supported iOS settings combinations are:
405- --os-version 17.5 --device iPhone-15 => Default
406- --os-version 17.5 --device iPhone-15-Pro
407- --os-version 17.5 --device iPhone-15-Pro-Max
408- --os-version 17.5 --device iPhone-11
409401 --os-version 18.2 --device iPhone-16
410402 --os-version 18.2 --device iPhone-16-Pro
411403 --os-version 18.2 --device iPhone-16-Pro-Max
412404 --os-version 18.2 --device iPhone-16-Plus
413405 --os-version 18.2 --device iPhone-11
406+
414407 --os-version 18.4 --device iPhone-16
415408 --os-version 18.4 --device iPhone-16-Pro
416409 --os-version 18.4 --device iPhone-16-Pro-Max
417410 --os-version 18.4 --device iPhone-16-Plus
418411 --os-version 18.4 --device iPhone-11
419- First example: If you choose --xcode-version 15.4 --device iPhone-15-Pro then the --os-version will be inferred (17.5).
412+
413+ --os-version 26.1 --device iPhone-17
414+ --os-version 26.1 --device iPhone-17-Pro
415+ --os-version 26.1 --device iPhone-17-Pro-Max
416+ --os-version 26.1 --device iPhone-16-Pro
417+ First example: If you choose --device iPhone-17 then the --os-version will be inferred (26.1).
420418Second example: If you choose --device iPhone-11 then you will receive an error because --os-version param is ambiguous."
421419 . into ( ) ,
422420 } . into ( ) ) ) ;
@@ -432,41 +430,41 @@ mod tests {
432430
433431 #[ tokio:: test]
434432 async fn test_infer_parameters_device_and_xcode_version_provided ( ) -> Result < ( ) > {
435- let provided_device = Some ( IosDevice :: IPhone15 ) ;
436- let expected_os_version = OsVersion :: Ios17_5 ;
433+ let provided_device = Some ( IosDevice :: IPhone17 ) ;
434+ let expected_os_version = OsVersion :: Ios26_1 ;
437435
438436 let ( inferred_device, inferred_os_version) =
439437 infer_parameters ( provided_device, None ) . await ?;
440438
441- assert_eq ! ( inferred_device, IosDevice :: IPhone15 ) ;
439+ assert_eq ! ( inferred_device, IosDevice :: IPhone17 ) ;
442440 assert_eq ! ( inferred_os_version, expected_os_version) ;
443441
444442 Ok ( ( ) )
445443 }
446444
447445 #[ tokio:: test]
448- async fn test_infer_parameters_ambiguous_xcode_version_should_error ( ) {
446+ async fn test_infer_parameters_ambiguous_should_error ( ) {
449447 let result = infer_parameters ( None , None ) . await ;
450448 assert ! ( result. is_err( ) ) ;
451449 }
452450
453451 #[ tokio:: test]
454452 async fn test_infer_parameters_complete_input_valid ( ) -> Result < ( ) > {
455- let provided_device = Some ( IosDevice :: IPhone15 ) ;
456- let provided_os_version = Some ( OsVersion :: Ios17_5 ) ;
453+ let provided_device = Some ( IosDevice :: IPhone16 ) ;
454+ let provided_os_version = Some ( OsVersion :: Ios18_2 ) ;
457455
458456 let ( inferred_device, inferred_os_version) =
459457 infer_parameters ( provided_device, provided_os_version) . await ?;
460458
461- assert_eq ! ( inferred_device, IosDevice :: IPhone15 ) ;
462- assert_eq ! ( inferred_os_version, OsVersion :: Ios17_5 ) ;
459+ assert_eq ! ( inferred_device, IosDevice :: IPhone16 ) ;
460+ assert_eq ! ( inferred_os_version, OsVersion :: Ios18_2 ) ;
463461
464462 Ok ( ( ) )
465463 }
466464
467465 #[ tokio:: test]
468466 async fn test_infer_parameters_invalid_device_and_xcode_combination_should_error ( ) {
469- let provided_os_version = Some ( OsVersion :: Ios17_5 ) ;
467+ let provided_os_version = Some ( OsVersion :: Ios18_2 ) ;
470468 let result = infer_parameters ( None , provided_os_version) . await ;
471469 assert ! ( result. is_err( ) ) ;
472470 }
0 commit comments