GV

GeezerVison

The World Wide Web, restored to 800 pixels of glory.

Home|About|Gaming cabinet|Archives|How it works|Starter sites

On this site

  • Sign in
  • ActionsCI/CD and automation
  • CodespacesCloud development environments
  • All Features
  • Documentation
  • Training
  • Certifications
  • Build with Copilot
  • Customize Copilot
  • Integrations
  • Trending repos
  • GitHub Sponsors
  • Developer articles
  • Enterprises

This view

  • Original page
  • New address

GeezerVison is showing github.com — GitHub - srea/RIBsTreeViewerClient: Real Time viewing attached RIBs Tree on Browser

BranchesTags
Open more actions menu

Latest commit

 

History

112 Commits
112 Commits

Folders and files

NameName
Last commit message
Last commit date
.github/workflows
.github/workflows
 
 
Browser
Browser
 
 
Example
Example
 
 
Products/RIBsTreeViewerClient.xcframework
Products/RIBsTreeViewerClient.xcframework
 
 
RIBsTreeViewerClient.xcodeproj
RIBsTreeViewerClient.xcodeproj
 
 
RIBsTreeViewerClient
RIBsTreeViewerClient
 
 
WebSocketServer
WebSocketServer
 
 
docs
docs
 
 
scripts
scripts
 
 
.gitignore
.gitignore
 
 
LICENSE.txt
LICENSE.txt
 
 
Makefile
Makefile
 
 
Package.resolved
Package.resolved
 
 
Package.swift
Package.swift
 
 
README.md
README.md
 
 

Repository files navigation

RIBsTreeViewer

Real Time viewing attached RIBs Tree on Browser

Demo

Requirements

  • iOS 15+ (aligned with RIBs-iOS 1.0)
  • Xcode 15+
  • Node.js 20+ with npm (WebSocket relay and browser viewer)

Quick start (local tooling)

./scripts/verify.sh

Then run the viewer stack in three terminals:

# 1. WebSocket relay (port 8080)
cd WebSocketServer && npm ci && npm start

# 2. Browser tree UI
cd Browser && npm ci && npm run build && open ./public/index.html

# 3. Your iOS app (DEBUG): attach RIBsTreeViewer to the launch router — see below

Using the library in your app

Swift Package Manager (recommended)

In Xcode: File → Add Package Dependencies → https://github.com/srea/RIBsTreeViewerClient.git

Or in Package.swift:

dependencies: [
    .package(url: "https://github.com/srea/RIBsTreeViewerClient.git", branch: "master"),
],
targets: [
    .target(
        name: "YourApp",
        dependencies: [
            .product(name: "RIBsTreeViewerClient", package: "RIBsTreeViewerClient"),
        ]
    ),
]

This pulls RIBs-iOS 1.0+ and RxSwift 6.x automatically.

XCFramework

Add the prebuilt binary:

./Products/RIBsTreeViewerClient.xcframework

Regenerate after changing library sources:

make generate_xcframeworks

Basic setup (iOS app, DEBUG)

#if DEBUG
import RIBsTreeViewerClient

extension AppDelegate {
    private func startRIBsTreeViewer(launchRouter: Routing) {
        if #available(iOS 15.0, *) {
            let viewer = RIBsTreeViewerImpl(
                router: launchRouter,
                options: [
                    .webSocketURL("ws://127.0.0.1:8080"),
                    .monitoringIntervalMillis(1000),
                ]
            )
            viewer.start()
        }
    }
}
#endif

Use 127.0.0.1 when running the simulator on the same Mac as the WebSocket relay.

Development commands

Command Description
./scripts/verify.sh Full usability check (SPM, Xcode, Browser, WebSocket)
./scripts/build-spm-package.sh Build library via SwiftPM only
make generate_xcframeworks Rebuild Products/*.xcframework
make browser-build Build browser bundle
make websocket-server Start WebSocket relay

Browser development: cd Browser && npm run watch

Notes

  • RIBs for iOS: uber/RIBs-iOS (the monorepo uber/RIBs is Android-focused).
  • SPM migration tracking: #38 (completed).

About

Real Time viewing attached RIBs Tree on Browser

Topics

debugiosrefactorribstest

Resources

Readme
MIT license
Activity

Stars

104 stars

Watchers

3 watching

Forks

15 forks
Report repository

Releases

Packages

Used by

Contributors

Languages

You are visitor 01402503 — GeezerVison does not store the pages you look up.
Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required.