Skip to content

Commit 3596f53

Browse files
authored
feat(ios): update defaults, remove iOS 17.5 (#85)
* feat(ios): update defaults, remove iOS 17.5 * chore(deps): update for audit
1 parent 0899349 commit 3596f53

2 files changed

Lines changed: 35 additions & 37 deletions

File tree

Cargo.lock

Lines changed: 14 additions & 14 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

src/cli/ios/mod.rs

Lines changed: 21 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -125,24 +125,20 @@ impl Display for XcodeVersion {
125125

126126
pub(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: "
403399
Please set --xcode-version, --os-version, and --device correctly.
404400
Supported 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).
420418
Second 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

Comments
 (0)