Skip to content

OpenSwiftUIProject/OpenSwiftUI-spm

Repository files navigation

OpenSwiftUI (Binary)

A lightweight Swift Package that provides precompiled XCFrameworks from OpenSwiftUI releases.

This avoids the need to clone and compile the full OpenSwiftUI source repository.

Installation

Via Xcode

  1. In Xcode, select File > Add Package Dependencies...
  2. Enter the repository URL: https://github.com/OpenSwiftUIProject/OpenSwiftUI-spm
  3. Select the version you want to use

Via Package.swift

Add the dependency to your Package.swift:

dependencies: [
    .package(url: "https://github.com/OpenSwiftUIProject/OpenSwiftUI-spm", from: "0.18.1"),
]

Then add "OpenSwiftUI" to the target's dependencies:

.target(
    name: "YourTarget",
    dependencies: [
        .product(name: "OpenSwiftUI", package: "OpenSwiftUI-spm"),
    ]
),

SwiftUI Library Integration

SwiftUI library authors can support both Apple's SwiftUI and OpenSwiftUI with an opt-in SwiftPM trait. See SwiftUI Library Integration for the full Package.swift configuration and source-code pattern.

Platform Support

Currently supports:

  • iOS 18.0+ (device and simulator)
  • macOS 15.0+

Binary Configuration History

OpenSwiftUI-spm publishes one binary package configuration per release series.

Versions Renderer backend AttributeGraph backend Platform support
0.19.0+ OSUI Renderer IAG (Compute) iOS 18+ (device and simulator) and macOS 15+
0.18.0-0.18.3 OSUI Renderer AG iOS Simulator 18+ and macOS 15+
0.17.0-0.17.3 SUI Renderer AG iOS Simulator [18.5, 26.0) and macOS [15.5, 26.0)

Included Frameworks

Framework Description
OpenSwiftUI Main framework
OpenSwiftUICore Core types and utilities
OpenAttributeGraphShims AttributeGraph shim layer
OpenCoreGraphicsShims CoreGraphics shim layer
OpenObservation Observation framework support
OpenQuartzCoreShims QuartzCore shim layer
OpenRenderBoxShims RenderBox shim layer

Build Configuration Metadata

Starting with 0.19.0, release builds record their backend configuration in each OpenSwiftUI.framework slice's Info.plist. The metadata includes the OpenSwiftUIAGBackend, OpenSwiftUIRendererBackend, OpenSwiftUILibraryType, and OpenSwiftUIUsesLocalDependencies keys.

For example, inspect a downloaded release with:

/usr/libexec/PlistBuddy -c "Print :OpenSwiftUIAGBackend" OpenSwiftUI.xcframework/ios-arm64_x86_64-simulator/OpenSwiftUI.framework/Info.plist
/usr/libexec/PlistBuddy -c "Print :OpenSwiftUIAGBackend" OpenSwiftUI.xcframework/macos-arm64_x86_64/OpenSwiftUI.framework/Versions/Current/Resources/Info.plist

Security

XCFrameworks are code-signed with a self-signed certificate named "OpenSwiftUI".

Certificate fingerprint (SHA-256):

F4:80:B9:8F:2E:D6:D4:A3:6B:32:9D:D9:3C:B3:4F:44:A9:69:CE:E7:12:9F:98:A3:23:75:52:C6:0B:41:EA:79

You can verify the signature of a downloaded XCFramework using:

codesign -dv --verbose=4 OpenSwiftUI.xcframework

The Package.swift URLs point directly to official OpenSwiftUI releases, and SPM verifies the checksum on download.

License

MIT License. See LICENSE for details.

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors