diff --git a/README.md b/README.md index 079064d..4a44e6e 100644 --- a/README.md +++ b/README.md @@ -173,6 +173,7 @@ vphone-amfidont # .build/vphone-cli.app/Contents/Resources/vphone-amfido | Mac16,6 26.6.1 | `17,3_27.0_24A5408d` | `26.4-23E5207q` | | Mac16,11 27.0b2 | `17,3_27.0_24A5418b` | `26.4-23E5207q` | | Mac16,11 27.0b2 | `17,3_27.0_24A5424a` | `26.4-23E5207q` | +| Mac16,11 27.0b2 | `17,3_27.0_24A5430a` | `26.4-23E5207q` | ## FAQ diff --git a/docs/README_ja.md b/docs/README_ja.md index 78e8d71..3a25941 100644 --- a/docs/README_ja.md +++ b/docs/README_ja.md @@ -173,6 +173,7 @@ vphone-amfidont # ローカルビルドの場合は .build/vphone-cli.ap | Mac16,6 26.6.1 | `17,3_27.0_24A5408d` | `26.4-23E5207q` | | Mac16,11 27.0b2 | `17,3_27.0_24A5418b` | `26.4-23E5207q` | | Mac16,11 27.0b2 | `17,3_27.0_24A5424a` | `26.4-23E5207q` | +| Mac16,11 27.0b2 | `17,3_27.0_24A5430a` | `26.4-23E5207q` | ## FAQ diff --git a/docs/README_ko.md b/docs/README_ko.md index 3133054..d749a10 100644 --- a/docs/README_ko.md +++ b/docs/README_ko.md @@ -173,6 +173,7 @@ vphone-amfidont # 로컬 빌드의 경우 .build/vphone-cli.app/Contents | Mac16,6 26.6.1 | `17,3_27.0_24A5408d` | `26.4-23E5207q` | | Mac16,11 27.0b2 | `17,3_27.0_24A5418b` | `26.4-23E5207q` | | Mac16,11 27.0b2 | `17,3_27.0_24A5424a` | `26.4-23E5207q` | +| Mac16,11 27.0b2 | `17,3_27.0_24A5430a` | `26.4-23E5207q` | ## FAQ diff --git a/docs/README_zh.md b/docs/README_zh.md index e2d5a51..ee1b086 100644 --- a/docs/README_zh.md +++ b/docs/README_zh.md @@ -173,6 +173,7 @@ vphone-amfidont # 本地构建见 .build/vphone-cli.app/Contents/Resourc | Mac16,6 26.6.1 | `17,3_27.0_24A5408d` | `26.4-23E5207q` | | Mac16,11 27.0b2 | `17,3_27.0_24A5418b` | `26.4-23E5207q` | | Mac16,11 27.0b2 | `17,3_27.0_24A5424a` | `26.4-23E5207q` | +| Mac16,11 27.0b2 | `17,3_27.0_24A5430a` | `26.4-23E5207q` | ## 常见问题 diff --git a/sources/VPhoneCore/VPhoneFirmwareCatalog.swift b/sources/VPhoneCore/VPhoneFirmwareCatalog.swift index a20771c..49c154d 100644 --- a/sources/VPhoneCore/VPhoneFirmwareCatalog.swift +++ b/sources/VPhoneCore/VPhoneFirmwareCatalog.swift @@ -63,6 +63,7 @@ public enum VPhoneFirmwareCatalog { .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), .init(iosName: "iOS 27 beta 6", iosURL: "https://updates.cdn-apple.com/2026SpringSeed/ad5b3026-b03e-4b21-8bcb-96d6ea527e09/iPhone17,3_27.0_24A5418b_Restore.ipsw", cloudosName: "cloudOS 26.4", cloudosURL: cloud264), .init(iosName: "iOS 27 beta 7", iosURL: "https://updates.cdn-apple.com/2026SpringSeed/ad5a4f9d-f005-466b-bbcf-3b466040074b/iPhone17,3_27.0_24A5424a_Restore.ipsw", cloudosName: "cloudOS 26.4", cloudosURL: cloud264), + .init(iosName: "iOS 27 beta 8", iosURL: "https://updates.cdn-apple.com/2026SpringSeed/2d03d580-843b-4b2a-b09d-976b31c10744/iPhone17,3_27.0_24A5430a_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 360c404..5ac37f6 100644 --- a/tests/VPhoneCoreTests/FirmwarePickerTests.swift +++ b/tests/VPhoneCoreTests/FirmwarePickerTests.swift @@ -10,8 +10,8 @@ struct FirmwarePickerTests { // MARK: - Catalog integrity - @Test func catalogHasTwentyTwoPairings() { - #expect(VPhoneFirmwareCatalog.pairings.count == 22) + @Test func catalogHasTwentyThreePairings() { + #expect(VPhoneFirmwareCatalog.pairings.count == 23) } @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 == 22) + #expect(menu.count == 23) // 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)