Add module version metadata to binary distributions
Maintainer antworten meist innerhalb von 1 Tag
Ein zugehöriger Pull Request wurde bereits gemerged.
- #1231 von @Kyle-Ye — gemerged
Bewertung
- Schwierigkeit
- 4/5
- Geschätzter Aufwand
- 3-5 Tage
- Anfängerfreundlichkeit
- 35/100
- Issue-Typ
- Feature
- Klarheit
- Größtenteils klar
- Aktivitätsstatus
- Aktiv
- Tech-Stack
- swift
- Bereich
- build-system, release
Rechercherichtung
Start with the build settings that publish OpenSwiftUI and OpenSwiftUICore, tracing how SWIFT_USER_MODULE_VERSION is set and how -user-module-version reaches the generated .swiftinterface files. Then inspect the distribution validation path for the iOS, macOS and visionOS slices, and compare it with the standalone DemoKit experiment. Done means version checks pass at and below 0.25.0, fail above it, and the docs explain _underlyingVersion and unversioned-module behavior.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Beschreibung
Summary
Add module version metadata to published OpenSwiftUI binaries so consumers can check a minimum release at compile time:
#if canImport(OpenSwiftUI, _version: 0.25.0)
import OpenSwiftUI
#endif
Scope
- Set
SWIFT_USER_MODULE_VERSIONfrom the release version for the OpenSwiftUI and OpenSwiftUICore targets. - Preserve
-user-module-versionin the public.swiftinterfacefiles for every published platform slice. - Keep dependency framework versions independent of the OpenSwiftUI release version.
- Document the use of
_versionand the behavior of older binaries without module version metadata.
Acceptance criteria
- Version checks succeed for the published version and lower versions, and fail for higher versions.
- The checks work when consumers load only the public textual interfaces on iOS, macOS, and visionOS.
- Distribution validation checks both the expected version and an upper boundary.
- Documentation explains that
_underlyingVersionchecks the underlying Clang module, and that an unversioned Swift module warns and ignores the requested version rather than selecting the false branch.
A standalone DemoKit experiment has verified the build setting, version boundaries, and public interface behavior across the five Apple SDK slices.
- Vorherrschende Sprache
- Swift
- Sterne
- 2.5k
- Forks
- 84
- Ø Merge
- 4 Std. 55 Min.
- Gemergte PRs (30 T.)
- 73
Entwicklungsumgebung
- Kein Dockerfile und keine Docker-Compose-Datei
- Hat eine Pull-Request-Vorlage
- Beitragsleitfaden lesen
Erste Schritte
- Lesen Sie das ganze Issue und danach den Beitragsleitfaden des Projekts.
- Schreiben Sie ins Issue, dass Sie es übernehmen — das erspart doppelte Arbeit.
- Forken Sie das Repository und arbeiten Sie in einem Branch.
- Öffnen Sie einen Pull Request, der die Issue-Nummer nennt.
Mehr aus OpenSwiftUIProject/OpenSwiftUI
-
Implement PickerOffenarea: data-flow area: view type: feature
Schwierigkeit 4/5 3-5 Tage Anfängerfreundlichkeit 30/100
OpenSwiftUIProject/OpenSwiftUI#1225 ·
Maintainer antworten meist innerhalb von 1 Tag
-
Add Shader supportOffenarea: graphics area: rendering type: feature
Schwierigkeit 5/5 Über eine Woche Anfängerfreundlichkeit 18/100
OpenSwiftUIProject/OpenSwiftUI#1223 · 3 Reaktionen ·
Maintainer antworten meist innerhalb von 1 Tag
-
Add MeshGradient supportOffenarea: graphics area: rendering type: feature
Schwierigkeit 4/5 3-5 Tage Anfängerfreundlichkeit 30/100
OpenSwiftUIProject/OpenSwiftUI#1222 ·
Maintainer antworten meist innerhalb von 1 Tag
-
Implement ImageRendererOffenarea: rendering type: feature
Schwierigkeit 5/5 Über eine Woche Anfängerfreundlichkeit 35/100
OpenSwiftUIProject/OpenSwiftUI#1214 · 1 Reaktion ·
Maintainer antworten meist innerhalb von 1 Tag
-
area: animation area: rendering type: feature
Schwierigkeit 5/5 Über eine Woche Anfängerfreundlichkeit 35/100
OpenSwiftUIProject/OpenSwiftUI#1206 ·
Maintainer antworten meist innerhalb von 1 Tag
Alle Issues in OpenSwiftUIProject/OpenSwiftUI
Ähnliche Issues
-
simulator-session.yml の simtunnel の固定先が古く、agentd が無いため simtunnel up --wait / status が準備完了を検知できないOffen
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 68/100
-
Schwierigkeit 1/5 1-3 Stunden Anfängerfreundlichkeit 85/100
apache/arrow-swift#203 ·
-
Update ghostty to 1.4.0Offen
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 62/100
Maintainer antworten meist innerhalb von 1 Tag
-
RealtimeV2 fails to compile on Xcode 27.1 / Swift 6.4: ambiguous implicit access level for import of 'HTTPTypes'Evtl. vergeben Ein verknüpfter Pull Request ist offen oder bereits gemergt. OffenRealtime swift
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 68/100
supabase/supabase-swift#1647 ·
Maintainer antworten meist innerhalb von 1 Tag
-
[Pri] Low [Status] Ready for Dev [Type] Bug /Me
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 78/100
wordpress-mobile/WordPress-iOS#26279 · 1 Kommentar ·
Maintainer antworten meist innerhalb von 1 Tag