Summary
SBOMView.swift fails to compile on the macOS host: SBOMPackageDetailView's synthesized memberwise initializer is private, because two of its stored properties are declared @State private var. The call site is 90 lines above it in the same file.
.build/checkouts/skip-kit/Sources/SkipKit/SBOMView.swift:137:49: error: 'SBOMPackageDetailView' initializer is inaccessible due to 'private' protection level
The code
Call site — Sources/SkipKit/SBOMView.swift:137:
NavigationLink(destination: SBOMPackageDetailView(package: pkg, document: document)) {
SBOMPackageRow(package: pkg)
}
Declaration — Sources/SkipKit/SBOMView.swift:227:
struct SBOMPackageDetailView: View {
let package: SBOMPackage
let document: SBOMDocument
@State private var browserPresented = false
@State private var browserURL: URL = URL(string: "https://spdx.org/licenses/")!
A private stored property makes the synthesized memberwise init private, so init(package:document:_browserPresented:_browserURL:) is not reachable from the call site.
Suggested fix
Drop private from the two @State properties:
@State var browserPresented = false
@State var browserURL: URL = URL(string: "https://spdx.org/licenses/")!
This also matches Skip's own guidance that @State properties should not be private in bridged views.
Scope
Host-only. SBOMView.swift is inside #if !SKIP_BRIDGE, so in our project:
swift build / swift test (macOS host) — fail
skip android build — passes
- iOS
xcodebuild — passes
The practical impact is that the host unit-test lane cannot run at all, which for us is ~827 tests.
Versions
- skip-kit 1.1.1 — also reproduces on 1.1.0 (the only other published 1.x tag)
- Skip 1.9.5
- Swift 6.3.2 (
swift-6.3.2-RELEASE, via swiftly)
- Xcode 27.0, macOS 27.0 (arm64)
Possibly relevant
The same project built green with skip-kit 1.1.1 on Xcode 26.6, and started failing after upgrading to Xcode 27.0 with no change to the Swift compiler version (6.3.2 both times) and no change to the resolved skip-kit version. I have not verified this by reverting Xcode, so I'm offering it as a correlation rather than a cause — it may just be that a newer SDK/resource dir changes when this file gets type-checked.
Summary
SBOMView.swiftfails to compile on the macOS host:SBOMPackageDetailView's synthesized memberwise initializer isprivate, because two of its stored properties are declared@State private var. The call site is 90 lines above it in the same file.The code
Call site —
Sources/SkipKit/SBOMView.swift:137:Declaration —
Sources/SkipKit/SBOMView.swift:227:A
privatestored property makes the synthesized memberwise initprivate, soinit(package:document:_browserPresented:_browserURL:)is not reachable from the call site.Suggested fix
Drop
privatefrom the two@Stateproperties:This also matches Skip's own guidance that
@Stateproperties should not beprivatein bridged views.Scope
Host-only.
SBOMView.swiftis inside#if !SKIP_BRIDGE, so in our project:swift build/swift test(macOS host) — failskip android build— passesxcodebuild— passesThe practical impact is that the host unit-test lane cannot run at all, which for us is ~827 tests.
Versions
swift-6.3.2-RELEASE, via swiftly)Possibly relevant
The same project built green with skip-kit 1.1.1 on Xcode 26.6, and started failing after upgrading to Xcode 27.0 with no change to the Swift compiler version (6.3.2 both times) and no change to the resolved skip-kit version. I have not verified this by reverting Xcode, so I'm offering it as a correlation rather than a cause — it may just be that a newer SDK/resource dir changes when this file gets type-checked.