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