From 6d4855dca313868b874351bcbd264d0dfad27d10 Mon Sep 17 00:00:00 2001 From: zqxwce Date: Tue, 11 Aug 2026 14:23:56 +0300 Subject: [PATCH] catalog: Add iOS 27 beta 5 (24A5408d) firmware pairing Add the iPhone17,3 27.0 24A5408d + cloudOS 26.4 pairing to the firmware catalog so it is selectable in `fw prepare` / `vm create`, and bump the two hardcoded pairing counts in the picker tests (18 -> 19). Co-Authored-By: Claude Opus 4.8 Claude-Session: https://claude.ai/code/session_01N2bwKrGJWY7o2ArdxibVPe --- README.md | 5 +++-- docs/README_ja.md | 5 +++-- docs/README_ko.md | 5 +++-- docs/README_zh.md | 5 +++-- sources/VPhoneCore/VPhoneFirmwareCatalog.swift | 1 + tests/VPhoneCoreTests/FirmwarePickerTests.swift | 6 +++--- 6 files changed, 16 insertions(+), 11 deletions(-) diff --git a/README.md b/README.md index cc8ad74..15f223b 100644 --- a/README.md +++ b/README.md @@ -162,9 +162,10 @@ vphone-amfidont # .build/vphone-cli.app/Contents/Resources/vphone-amfido | Mac16,11 26.2 | `17,3_26.4_23E246` | `26.4-23E5207q` | | Mac16,11 26.2 | `17,3_26.5_23F77` | `26.4-23E5207q` | | Mac16,11 27.0b2 | `17,3_26.5.2_23F84` | `26.4-23E5207q` | -| Mac16,6 25.4.1 | `17,3_26.6_23G71` | `26.4-23E5207q` | +| Mac16,6 26.4.1 | `17,3_26.6_23G71` | `26.4-23E5207q` | | Mac16,11 27.0b2 | `17,3_27.0_24A5380h` | `26.4-23E5207q` | -| Mac16,6 25.4.1 | `17,3_27.0_24A5390f` | `26.4-23E5207q` | +| Mac16,6 26.4.1 | `17,3_27.0_24A5390f` | `26.4-23E5207q` | +| Mac16,6 26.6.1 | `17,3_27.0_24A5408d` | `26.4-23E5207q` | ## FAQ diff --git a/docs/README_ja.md b/docs/README_ja.md index d0122bf..26289d9 100644 --- a/docs/README_ja.md +++ b/docs/README_ja.md @@ -162,9 +162,10 @@ vphone-amfidont # ローカルビルドの場合は .build/vphone-cli.ap | Mac16,11 26.2 | `17,3_26.4_23E246` | `26.4-23E5207q` | | Mac16,11 26.2 | `17,3_26.5_23F77` | `26.4-23E5207q` | | Mac16,11 27.0b2 | `17,3_26.5.2_23F84` | `26.4-23E5207q` | -| Mac16,6 25.4.1 | `17,3_26.6_23G71` | `26.4-23E5207q` | +| Mac16,6 26.4.1 | `17,3_26.6_23G71` | `26.4-23E5207q` | | Mac16,11 27.0b2 | `17,3_27.0_24A5380h` | `26.4-23E5207q` | -| Mac16,6 25.4.1 | `17,3_27.0_24A5390f` | `26.4-23E5207q` | +| Mac16,6 26.4.1 | `17,3_27.0_24A5390f` | `26.4-23E5207q` | +| Mac16,6 26.6.1 | `17,3_27.0_24A5408d` | `26.4-23E5207q` | ## FAQ diff --git a/docs/README_ko.md b/docs/README_ko.md index c98fb87..facf2e6 100644 --- a/docs/README_ko.md +++ b/docs/README_ko.md @@ -162,9 +162,10 @@ vphone-amfidont # 로컬 빌드의 경우 .build/vphone-cli.app/Contents | Mac16,11 26.2 | `17,3_26.4_23E246` | `26.4-23E5207q` | | Mac16,11 26.2 | `17,3_26.5_23F77` | `26.4-23E5207q` | | Mac16,11 27.0b2 | `17,3_26.5.2_23F84` | `26.4-23E5207q` | -| Mac16,6 25.4.1 | `17,3_26.6_23G71` | `26.4-23E5207q` | +| Mac16,6 26.4.1 | `17,3_26.6_23G71` | `26.4-23E5207q` | | Mac16,11 27.0b2 | `17,3_27.0_24A5380h` | `26.4-23E5207q` | -| Mac16,6 25.4.1 | `17,3_27.0_24A5390f` | `26.4-23E5207q` | +| Mac16,6 26.4.1 | `17,3_27.0_24A5390f` | `26.4-23E5207q` | +| Mac16,6 26.6.1 | `17,3_27.0_24A5408d` | `26.4-23E5207q` | ## FAQ diff --git a/docs/README_zh.md b/docs/README_zh.md index ef24033..d7a1020 100644 --- a/docs/README_zh.md +++ b/docs/README_zh.md @@ -162,9 +162,10 @@ vphone-amfidont # 本地构建见 .build/vphone-cli.app/Contents/Resourc | Mac16,11 26.2 | `17,3_26.4_23E246` | `26.4-23E5207q` | | Mac16,11 26.2 | `17,3_26.5_23F77` | `26.4-23E5207q` | | Mac16,11 27.0b2 | `17,3_26.5.2_23F84` | `26.4-23E5207q` | -| Mac16,6 25.4.1 | `17,3_26.6_23G71` | `26.4-23E5207q` | +| Mac16,6 26.4.1 | `17,3_26.6_23G71` | `26.4-23E5207q` | | Mac16,11 27.0b2 | `17,3_27.0_24A5380h` | `26.4-23E5207q` | -| Mac16,6 25.4.1 | `17,3_27.0_24A5390f` | `26.4-23E5207q` | +| Mac16,6 26.4.1 | `17,3_27.0_24A5390f` | `26.4-23E5207q` | +| Mac16,6 26.6.1 | `17,3_27.0_24A5408d` | `26.4-23E5207q` | ## 常见问题 diff --git a/sources/VPhoneCore/VPhoneFirmwareCatalog.swift b/sources/VPhoneCore/VPhoneFirmwareCatalog.swift index b246045..55eb712 100644 --- a/sources/VPhoneCore/VPhoneFirmwareCatalog.swift +++ b/sources/VPhoneCore/VPhoneFirmwareCatalog.swift @@ -59,6 +59,7 @@ public enum VPhoneFirmwareCatalog { .init(iosName: "iOS 27 beta 2", iosURL: "https://updates.cdn-apple.com/2026SpringSeed/fullrestores/140-21207/F0510574-F649-48C5-B535-0A477E342BFB/iPhone17,3_27.0_24A5370h_Restore.ipsw", cloudosName: "cloudOS 26.4", cloudosURL: cloud264), .init(iosName: "iOS 27 beta 3", iosURL: "https://updates.cdn-apple.com/2026SpringSeed/fullrestores/140-35950/D135F5B5-C2BE-4630-8AE9-C78A6F0E8381/iPhone17,3_27.0_24A5380h_Restore.ipsw", cloudosName: "cloudOS 26.4", cloudosURL: cloud264), .init(iosName: "iOS 27 beta 4", iosURL: "https://updates.cdn-apple.com/2026SpringSeed/fullrestores/140-57108/5E816D0E-89BB-4B95-8825-6A3EDF22E509/iPhone17,3_27.0_24A5390f_Restore.ipsw", cloudosName: "cloudOS 26.4", cloudosURL: cloud264), + .init(iosName: "iOS 27 beta 5", iosURL: "https://updates.cdn-apple.com/2026SpringSeed/fullrestores/140-86338/57B34BF9-3BF5-4B47-BCCA-81B282175957/iPhone17,3_27.0_24A5408d_Restore.ipsw", cloudosName: "cloudOS 26.4", cloudosURL: cloud264), ] /// Distinct cloudOS images (first-seen order) for the "choose the cloudOS" prompt. diff --git a/tests/VPhoneCoreTests/FirmwarePickerTests.swift b/tests/VPhoneCoreTests/FirmwarePickerTests.swift index f3f5f7a..de98fc6 100644 --- a/tests/VPhoneCoreTests/FirmwarePickerTests.swift +++ b/tests/VPhoneCoreTests/FirmwarePickerTests.swift @@ -10,8 +10,8 @@ struct FirmwarePickerTests { // MARK: - Catalog integrity - @Test func catalogHasEighteenPairings() { - #expect(VPhoneFirmwareCatalog.pairings.count == 18) + @Test func catalogHasNineteenPairings() { + #expect(VPhoneFirmwareCatalog.pairings.count == 19) } @Test func everyPairingIsPopulated() { @@ -106,7 +106,7 @@ struct FirmwarePickerTests { iphone: nil, cloudos: nil, isInteractive: true, read: reader(["1"]), write: { lines.append($0) }) let menu = lines.filter { $0.hasPrefix(" [") } - #expect(menu.count == 18) + #expect(menu.count == 19) // Label text starts in one column regardless of 1- vs 2-digit index. let labelStarts = Set(menu.map { $0.range(of: "] ")!.upperBound.utf16Offset(in: $0) }) #expect(labelStarts.count == 1)