Project Description
I need an iPhone-only application built with CoreBluetooth that acts as a custom HID-like controller over BLE. When the user opens the app it should immediately scan and display any compatible peripherals it discovers, while still offering a manual connect / disconnect button for situations where the automatic scan does not find the intended device straight away.
Once connected, the interface has three key interaction modes:
1. A free-form text field where the user can type any string, set an optional delay in milliseconds, and then transmit that text as keystrokes over our custom protocol.
2. A dedicated numeric keypad that pops up a clean, number-only UI. In this mode the user can optionally choose a photo from their library so the keypad sits on top of their chosen background image.
3. A single “trigger” button that instantly sends a predefined command packet.
Everything can remain English-only and no iPad layout is required; the design can target modern iPhone screen sizes in portrait orientation. Please implement the BLE layer in Swift using CoreBluetooth, keep all protocol framing in a separate, well-documented class, and return a runnable Xcode project plus a short README explaining any provisioning or entitlement steps I need to reproduce the build on my end.