Installation¶
From Releases¶
Pre-built .dmg releases are available for macOS Apple Silicon (ARM64) on the Releases page. Download, mount, and drag the app to Applications.
From Source¶
Prerequisites¶
- Rust (stable, 2021 edition)
- macOS (for BLE via CoreBluetooth) or Linux (with BlueZ)
Build¶
git clone https://github.com/wu-hongjun/InstantLink.git
cd InstantLink
cargo build --workspace --release
The CLI binary will be at target/release/instantlink.
Install CLI¶
Or copy manually:
macOS App¶
The macOS app bundles the CLI binary and provides a native SwiftUI menu bar interface with drag-and-drop printing.
# Build the Rust workspace first
cargo build --workspace --release
# Build the app bundle (requires macOS)
bash scripts/build-app.sh 0.1.0
The .app bundle is created at target/release/InstantLink.app. The script:
- Copies the CLI binary into the bundle (renamed
instantlink-cli) - Bundles the FFI dylib (
libinstantlink_ffi.dylib) intoFrameworks/ - Compiles the SwiftUI launcher with
swiftc - Generates
Info.plistwith version and BLE permission - Ad-hoc codesigns the bundle
- Optionally creates a
.dmg(ifcreate-dmgis installed:brew install create-dmg)
Bluetooth Permissions
The app includes NSBluetoothAlwaysUsageDescription in its Info.plist for BLE access. When running the CLI directly (outside the app bundle), macOS will prompt for Bluetooth permission on first use.