Your Beacon Simulator
Multi-platform iBeacon toolkit: broadcast virtual beacons, scan for real ones and monitor regions in the background, on iPhone, iPad, Mac and Apple Watch.
- Year
- 2026
- Role
- Solo developer
- Kind
- Personal
- Status
- Shipped
- Links
- App Store · Source
Problem
Testing proximity features normally needs physical iBeacon hardware. This app turns an Apple device into the hardware.
What I built
Removes the need for physical beacon hardware when testing proximity features. Create projects of virtual beacons (UUID, major, minor, TX power), broadcast them, scan for a UUID with live RSSI and distance, and monitor regions in the background with notifications. An Apple Watch app controls sessions remotely. Synced with SwiftData and CloudKit.
Decisions & trade-offs
- Projects of virtual beacons stored in SwiftData with CloudKit sync, so setups follow you across devices.
- Background region monitoring that wakes the app on entry, to test real-world behaviour and not only the foreground.
- An Apple Watch companion that controls sessions remotely, so you can walk around with the phone as the beacon.
- One shared module across iOS, macOS and watchOS.
Highlights
- Broadcast and discovery of iBeacons with live proximity state, RSSI and estimated distance
- Background region monitoring and ranging that wakes the app on entry, with local notifications
- watchOS companion that starts and stops sessions and mirrors state via WatchConnectivity
- Session-based live event log; projects stored in SwiftData with CloudKit sync
- Published on the App Store; AGPL-3.0; targets iOS 17, macOS 14, watchOS 10
Stack
- Swift 6
- SwiftUI
- SwiftData + CloudKit
- CoreLocation
- CoreBluetooth
- WatchConnectivity