Skip to content

Latest commit

 

History

History
53 lines (41 loc) · 1.7 KB

development.md

File metadata and controls

53 lines (41 loc) · 1.7 KB

Development

SimBLE uses Swift for the helper and host packages, C for the interposer and wire codec, and a small JavaScript workspace for formatting and hooks.

Prerequisites

  • macOS with Xcode.
  • Homebrew.
  • Node.js and pnpm.

Setup

make bootstrap

Commands

Target Purpose
make build build C targets and Swift packages
make test run C tests, Swift tests, and fence checks
make test-portable run checks that do not need BLE hardware
make fence run static fence checks
make clean remove build outputs

The make mechanism-ios, make mechanism-watchos, and make mechanism-peripheral-ios targets run the real in-simulator lanes: the interposer slice, injected into a guest app in a booted simulator, routes its CoreBluetooth calls through the helper to the Mac's radio. They are operator-run, not CI gates: each needs Xcode, a booted or bootable simulator, Bluetooth granted to the helper, and (for the central lanes) a BLE peer in range.

App icons

Two Icon Composer bundles live in assets/. simble.icon is the regular mark the menubar helper wears in Finder and its about window; simble-dev.icon is the dimmed dev variant the example apps wear, so a dev build never passes for the real one. build-menubar-app.sh compiles the regular bundle into the helper; the example project compiles the dev bundle.

SimBLE helper icon     SimBLE example-app icon