From c05bd0f81531c6e90bcbe6c0348131c46d98c61a Mon Sep 17 00:00:00 2001 From: Patrick Schiller Date: Sat, 17 Oct 2026 18:20:54 +0200 Subject: [PATCH] Prepare iOS build 13 for the supported cloud environment Signed-off-by: Patrick Schiller --- docs/IOS_RELEASE_1.1.1.de.md | 8 +++++--- docs/IOS_RELEASE_1.1.1.md | 7 ++++--- ios/README.md | 22 +++++++++++++--------- ios/SourceBraid.xcodeproj/project.pbxproj | 8 ++++---- tests/test_ios_release.py | 2 +- 5 files changed, 27 insertions(+), 20 deletions(-) diff --git a/docs/IOS_RELEASE_1.1.1.de.md b/docs/IOS_RELEASE_1.1.1.de.md index 1aafd50..780fb17 100644 --- a/docs/IOS_RELEASE_1.1.1.de.md +++ b/docs/IOS_RELEASE_1.1.1.de.md @@ -11,9 +11,11 @@ Apple-Prüfung freigegeben. Dieses Protokoll beschreibt den geprüften Kandidaten. Die Freigabe allein belegt weder erfolgreiche Cloud-Archivierung und Upload noch Prüfeinreichung oder App-Store-Veröffentlichung. -Der Kandidat für App und Share Extension ist **1.1.1/Build 12**. Build 12 wurde -nach Prüfung der Xcode-Cloud-Historie gewählt; der neueste vorhandene Build -war 11. Ein erfolgreicher Cloud-Durchlauf für Build 12 bleibt zu bestätigen. +Der Kandidat für App und Share Extension ist **1.1.1/Build 13**. Build 12 +scheiterte vor der Kompilierung, weil seine konfigurierte Xcode-27.1-RC-/macOS- +Umgebung nicht mehr verfügbar war. Build 13 ist für einen neuen Durchlauf mit +der unterstützten Xcode-27.1-Umgebung vorbereitet; ein erfolgreicher +Cloud-Durchlauf bleibt zu bestätigen. **1.1.0/Build 11** ist die vorherige, bereits veröffentlichte App-Store-Version. Ihr erfolgreicher Cloud-Build belegt diesen Kandidaten nicht. Chrome-Erweiterung, Codex-Plugin diff --git a/docs/IOS_RELEASE_1.1.1.md b/docs/IOS_RELEASE_1.1.1.md index 292c893..19602d2 100644 --- a/docs/IOS_RELEASE_1.1.1.md +++ b/docs/IOS_RELEASE_1.1.1.md @@ -10,9 +10,10 @@ and submitting the matching app version for Apple's review. This record describes the validated candidate; authorization alone does not establish a successful cloud archive, upload, review submission or App Store publication. -The candidate is **1.1.1/build 12** for both the app and Share Extension. -Build 12 was selected after checking the Xcode Cloud history, whose latest -existing build was 11. A successful cloud result for build 12 remains to be +The candidate is **1.1.1/build 13** for both the app and Share Extension. +Build 12 failed before compilation because its configured Xcode 27.1 RC/macOS +environment was no longer available. Build 13 is prepared for a new run with +the supported Xcode 27.1 environment; a successful cloud result remains to be verified. **1.1.0/build 11** is the previous, already published App Store version. Its successful cloud build does not validate this candidate. The Chrome extension, Codex plugin and hosted diff --git a/ios/README.md b/ios/README.md index 2e3921c..98c56e8 100644 --- a/ios/README.md +++ b/ios/README.md @@ -1,7 +1,7 @@ # SourceBraid for iOS The iOS project contains a SwiftUI archive reader, configuration screens, and a -native Share Extension. The next iOS release candidate is **1.1.1/build 12**; its +native Share Extension. The next iOS release candidate is **1.1.1/build 13**; its [release record](../docs/IOS_RELEASE_1.1.1.md) separates validated local changes from the new cloud build and Apple review. **1.1.0/build 11** remains the published App Store version; its [earlier release notes](../docs/IOS_RELEASE_1.1.0.md) @@ -33,15 +33,17 @@ Reader-only use needs `Contents: Read` for the selected GitHub repository. The S ## TestFlight The project uses automatic distribution signing for Apple Developer team -`H76K2HQUFB`. The iOS release candidate is `1.1.1/build 12` for both the app and -Share Extension, with the iOS-only tag `ios-v1.1.1`. Build 12 was selected after -checking the existing Xcode Cloud history; its new cloud result is tracked in the +`H76K2HQUFB`. The iOS release candidate is `1.1.1/build 13` for both the app and +Share Extension, with the iOS-only tag `ios-v1.1.1`. Build 12 failed before +compilation because its configured cloud environment was retired. The new +build 13 result is tracked in the [release record](../docs/IOS_RELEASE_1.1.1.md). The already published `1.1.0/build 11` belongs to the previous release. Chrome, the local Codex plugin, and hosted MCP remain at `1.0.1` in this iOS release and use independent submission-bundle releases. Before every later upload, increment `CURRENT_PROJECT_VERSION` for both targets. -The maintainer reports that the Xcode Cloud workflow uses Xcode 27.1 RC. +The new cloud run targets the supported Xcode 27.1 environment rather than +the retired Xcode 27.1 RC configuration. For the new upload, cloud archive, distribution, and App Store processing must each be verified from their actual results; none is implied by local validation. @@ -181,15 +183,17 @@ entries retain the version and build that were actually tested. ## Deutsch: Veröffentlichung 1.1.1 -Der nächste iOS-Kandidat ist **1.1.1/Build 12** für App und Share Extension mit -dem iOS-spezifischen Tag `ios-v1.1.1`. Build 12 wurde nach Prüfung der -Xcode-Cloud-Historie gewählt; der neue Cloud-Durchlauf wird im +Der nächste iOS-Kandidat ist **1.1.1/Build 13** für App und Share Extension mit +dem iOS-spezifischen Tag `ios-v1.1.1`. Build 12 scheiterte vor der Kompilierung, +weil seine konfigurierte Cloud-Umgebung nicht mehr verfügbar war. Der neue +Durchlauf für Build 13 wird im [Release-Protokoll](../docs/IOS_RELEASE_1.1.1.de.md) dokumentiert. Die bereits veröffentlichte **1.1.0/Build 11** gehört zum vorherigen Release. Chrome, lokales Codex-Plugin und gehosteter MCP bleiben in diesem iOS-Release auf `1.0.1` und verwenden unabhängige Submission-Bundle-Releases. Deren öffentliche Freigabe folgt unabhängig. -Der Xcode-Cloud-Workflow verwendet laut Maintainer Xcode 27.1 RC. Für spätere +Der neue Cloud-Durchlauf verwendet die unterstützte Xcode-27.1-Umgebung statt +der nicht mehr verfügbaren Xcode-27.1-RC-Konfiguration. Für spätere Uploads werden Cloud-Build, Distribution und App-Store-Verarbeitung anhand ihrer tatsächlichen Ergebnisse geprüft. Die früheren Testnachweise bleiben in den [Release-Hinweisen](../docs/IOS_RELEASE_1.1.0.de.md) erhalten. diff --git a/ios/SourceBraid.xcodeproj/project.pbxproj b/ios/SourceBraid.xcodeproj/project.pbxproj index 300582a..4893e84 100644 --- a/ios/SourceBraid.xcodeproj/project.pbxproj +++ b/ios/SourceBraid.xcodeproj/project.pbxproj @@ -589,7 +589,7 @@ ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor; CODE_SIGN_ENTITLEMENTS = SourceBraid/Resources/SourceBraid.entitlements; CODE_SIGN_STYLE = Automatic; - CURRENT_PROJECT_VERSION = 12; + CURRENT_PROJECT_VERSION = 13; DEVELOPMENT_TEAM = H76K2HQUFB; ENABLE_PREVIEWS = YES; GENERATE_INFOPLIST_FILE = NO; @@ -618,7 +618,7 @@ ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor; CODE_SIGN_ENTITLEMENTS = SourceBraid/Resources/SourceBraid.entitlements; CODE_SIGN_STYLE = Automatic; - CURRENT_PROJECT_VERSION = 12; + CURRENT_PROJECT_VERSION = 13; DEVELOPMENT_TEAM = H76K2HQUFB; GENERATE_INFOPLIST_FILE = NO; INFOPLIST_FILE = SourceBraid/Resources/Info.plist; @@ -645,7 +645,7 @@ APPLICATION_EXTENSION_API_ONLY = YES; CODE_SIGN_ENTITLEMENTS = SourceBraidShare/SourceBraidShare.entitlements; CODE_SIGN_STYLE = Automatic; - CURRENT_PROJECT_VERSION = 12; + CURRENT_PROJECT_VERSION = 13; DEVELOPMENT_TEAM = H76K2HQUFB; GENERATE_INFOPLIST_FILE = NO; INFOPLIST_FILE = SourceBraidShare/Info.plist; @@ -672,7 +672,7 @@ APPLICATION_EXTENSION_API_ONLY = YES; CODE_SIGN_ENTITLEMENTS = SourceBraidShare/SourceBraidShare.entitlements; CODE_SIGN_STYLE = Automatic; - CURRENT_PROJECT_VERSION = 12; + CURRENT_PROJECT_VERSION = 13; DEVELOPMENT_TEAM = H76K2HQUFB; GENERATE_INFOPLIST_FILE = NO; INFOPLIST_FILE = SourceBraidShare/Info.plist; diff --git a/tests/test_ios_release.py b/tests/test_ios_release.py index 37d729e..882a842 100644 --- a/tests/test_ios_release.py +++ b/tests/test_ios_release.py @@ -45,7 +45,7 @@ def test_app_store_candidate_is_internally_consistent(self): report = ios_release.validate_source(REPOSITORY_ROOT) self.assertEqual(report.marketing_version, "1.1.1") - self.assertEqual(report.build_number, "12") + self.assertEqual(report.build_number, "13") self.assertEqual( report.icon_sha256, "3adcbd818e547ae7da3f5df26111631aa86f39549d07480bbce959f760731b93",