Background
RIBs for iOS has moved to a dedicated repository and modern tooling:
- Old: uber/RIBs 0.9.x + Carthage + RxSwift 5
- Current: uber/RIBs-iOS 1.0.0 + SPM (recommended) + RxSwift 6.x, minimum iOS 15
RIBsTreeViewerClient still uses Carthage (Cartfile pins RIBs 0.9.2) and an outdated Package.swift (points at uber/RIBs master). Carthage requires fragile workarounds on Xcode 15+ / Apple Silicon (patch_carthage_checkouts.sh, --use-xcframeworks).
Goal
Replace Carthage with Swift Package Manager and align with RIBs-iOS 1.0+, while keeping the library usable via prebuilt XCFramework for consumers who do not use SPM.
Phased plan
Phase 1 — SPM manifest & compile check (this issue)
Phase 2 — Xcode project & CI
Phase 3 — XCFramework distribution
Phase 4 — Cleanup
Non-goals (for now)
- Swift Concurrency / SwiftUI support in RIBsTreeViewer (future RIBs-iOS direction)
- Breaking API changes to
RIBsTreeViewer public surface unless required by RIBs 1.0
References
Background
RIBs for iOS has moved to a dedicated repository and modern tooling:
RIBsTreeViewerClient still uses Carthage (
Cartfilepins RIBs 0.9.2) and an outdatedPackage.swift(points atuber/RIBsmaster). Carthage requires fragile workarounds on Xcode 15+ / Apple Silicon (patch_carthage_checkouts.sh,--use-xcframeworks).Goal
Replace Carthage with Swift Package Manager and align with RIBs-iOS 1.0+, while keeping the library usable via prebuilt XCFramework for consumers who do not use SPM.
Phased plan
Phase 1 — SPM manifest & compile check (this issue)
Package.swift:RIBs-iOS1.0+, RxSwift 6.x, iOS 15+@available/ platform requirements in sourceswift buildor Xcode SPM build succeedsPhase 2 — Xcode project & CI
RIBsTreeViewerClient.xcodeprojmake setup-cito SPM resolve +xcodebuildPhase 3 — XCFramework distribution
Products/RIBsTreeViewerClient.xcframeworkusing SPM-resolved dependenciesPhase 4 — Cleanup
Cartfile,Cartfile.resolved, Carthage patch scripts,DeploymentTarget.xcconfigMakefile(dropsetup/setup-ciCarthage targets)Non-goals (for now)
RIBsTreeViewerpublic surface unless required by RIBs 1.0References