explaingit

shinvou/notifbridge

Analysis updated 2026-05-18

0SwiftAudience · developerComplexity · 4/5Setup · hard

TLDR

A demo iOS and Mac app that forwards iPhone notifications to a Mac over Bluetooth using Apple's new AccessoryNotifications APIs.

Mindmap

mindmap
  root((NotifBridge))
    What it does
      Forwards notifications
      iPhone to Mac
      Over Bluetooth LE
    Tech stack
      Swift
      SwiftUI
      Bluetooth LE
    Use cases
      Learn Apple APIs
      Build BLE accessories
      Study encrypted transport
    Audience
      iOS developers
      Mac developers
    Requirements
      EU Apple Account
      iOS 26.5 device
      Developer entitlements

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

What do people build with it?

USE CASE 1

See a working example of Apple's AccessoryNotifications and AccessoryTransportExtension APIs in action.

USE CASE 2

Learn how to encrypt and transport notification data between an iPhone and a Mac over BLE.

USE CASE 3

Build a custom BLE accessory app that receives forwarded iPhone notifications.

What is it built with?

SwiftSwiftUIiOSmacOSBluetooth LE

How does it compare?

shinvou/notifbridgeaiduckman/claudeusage_latest_may2026arnabau/thermalpulse
Stars000
LanguageSwiftSwiftSwift
Setup difficultyhardeasymoderate
Complexity4/52/53/5
Audiencedevelopervibe coderdeveloper

Figures from each repo's GitHub metadata at analysis time.

How do you get it running?

Difficulty · hard Time to first run · 1day+

Requires an EU Apple Account region, a real iOS 26.5 device, and gated Apple Developer entitlements.

In plain English

NotifBridge is a demo app showing how to use iOS 26.5's AccessoryNotifications and AccessoryTransportExtension APIs to forward iPhone notifications to a Mac over Bluetooth Low Energy (BLE), a wireless protocol for short-range, low-power communication. The Mac acts as a custom BLE accessory, and the iPhone delivers encrypted notifications to it. On the iPhone side, three extensions work together. The DataProviderExtension receives each notification and serializes its title, body, and source. The TransportSecurityExtension handles key exchange using a scheme called XWing, establishing a shared secret with the Mac. The TransportAppExtension writes the encrypted payload to the Mac over BLE using standardized GATT characteristics (named data slots in the BLE protocol). On the Mac side, a SwiftUI app advertises itself over BLE, reassembles incoming data chunks, decrypts the payload using HPKE (Hybrid Public Key Encryption, a modern encryption standard), and displays the notification in its window and as a native Mac banner. Because AccessoryNotifications is scoped to comply with European digital market regulations, the iPhone's Apple Account region must be set to the EU. A real device on iOS 26.5 or later is required, the iOS Simulator cannot exercise Bluetooth or the pairing flow. The Mac must run macOS 26.0 or later, and access requires an Apple Developer Program membership with specific gated entitlements that must be requested from Apple. The repository includes an automated end-to-end test script and documentation of a known intermittent Bluetooth permission issue that can occur on first launch after reinstalling. The full README is longer than what was provided.

Copy-paste prompts

Prompt 1
Explain how NotifBridge forwards iPhone notifications to a Mac over Bluetooth
Prompt 2
Walk me through the three iPhone extensions used in this project
Prompt 3
What EU region requirement do I need to test AccessoryNotifications?
Prompt 4
Help me set up an Apple Developer entitlement request for this API

Frequently asked questions

What is notifbridge?

A demo iOS and Mac app that forwards iPhone notifications to a Mac over Bluetooth using Apple's new AccessoryNotifications APIs.

What language is notifbridge written in?

Mainly Swift. The stack also includes Swift, SwiftUI, iOS.

How hard is notifbridge to set up?

Setup difficulty is rated hard, with roughly 1day+ to a first successful run.

Who is notifbridge for?

Mainly developer.

Open on GitHub → Explain another repo

This repo across BitVibe Labs

Verify against the repo before relying on details.