- Fixed 4 broken markdown links (bad relative paths in See Also sections) - Corrected n8n port binding to 127.0.0.1:5678 (matches actual deployment) - Updated SnapRAID article with actual majorhome paths (/majorRAID, disk1-3) - Converted 67 Obsidian wikilinks to relative markdown links or plain text - Added YAML frontmatter to 35 articles missing it entirely - Completed frontmatter on 8 articles with missing fields Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
96 lines
4.0 KiB
Markdown
96 lines
4.0 KiB
Markdown
---
|
|
title: "macOS Repeating Alert Tone from Mirrored iPhone Notification"
|
|
domain: troubleshooting
|
|
category: general
|
|
tags: [macos, iphone, notifications, continuity, audio]
|
|
status: published
|
|
created: 2026-04-02
|
|
updated: 2026-04-02
|
|
---
|
|
# macOS Repeating Alert Tone from Mirrored iPhone Notification
|
|
|
|
## Overview
|
|
On macOS, an unacknowledged iPhone notification can be mirrored to a Mac via iPhone Mirroring or Continuity and loop indefinitely — even after the alert is dismissed on the iPhone. The sound plays through the Mac's built-in speakers with no visible notification banner.
|
|
|
|
## Symptoms
|
|
- Repeating alarm tone coming from Mac speakers at regular intervals
|
|
- No visible notification in Notification Center or as a banner
|
|
- Sound starts when the Mac is opened or woken
|
|
- iPhone is silent
|
|
- iPhone not connected via Bluetooth audio
|
|
|
|
## Root Cause
|
|
macOS's `ToneLibrary` framework (`TLAlertQueuePlayerController`) loops iPhone alert ringtones via `NotificationCenter` when a mirrored notification has not been dismissed on the Mac side. The iPhone side may show the alert as acknowledged, but the Mac maintains its own notification state independently.
|
|
|
|
The sound file being looped will be an iPhone ringtone from:
|
|
```
|
|
/System/Library/PrivateFrameworks/ToneLibrary.framework/Resources/Ringtones/
|
|
```
|
|
|
|
## Diagnosis
|
|
|
|
To confirm this is the cause, run:
|
|
```bash
|
|
log stream --predicate 'process == "NotificationCenter"' --style compact
|
|
```
|
|
Wait for the sound to fire. Look for a line like:
|
|
```
|
|
URL = file:///System/Library/PrivateFrameworks/ToneLibrary.framework/Resources/Ringtones/<name>.m4r
|
|
```
|
|
If `TLAlertQueuePlayerController` appears in the output alongside a `.m4r` ringtone URL, this is your issue.
|
|
|
|
### Full Diagnostic Sequence
|
|
If the above isn't conclusive, work through these in order:
|
|
|
|
**1. Broad scan:**
|
|
```bash
|
|
log stream --predicate 'eventMessage contains "sound" OR eventMessage contains "alert" OR eventMessage contains "notification"' --style compact
|
|
```
|
|
|
|
**2. CoreAudio scan (catches audio playback):**
|
|
```bash
|
|
log stream --predicate 'subsystem == "com.apple.coreaudio" OR eventMessage contains "AudioSession" OR eventMessage contains "AVAudio"' --style compact
|
|
```
|
|
Look for `NotificationCenter` with `contentType = 'soun'` and `Route = built-in speakers`.
|
|
|
|
**3. Confirm with NotificationCenter filter:**
|
|
```bash
|
|
log stream --predicate 'process == "NotificationCenter"' --style compact
|
|
```
|
|
|
|
## Fix
|
|
|
|
### Immediate
|
|
Kill and restart NotificationCenter:
|
|
```bash
|
|
killall -9 NotificationCenter
|
|
```
|
|
macOS will relaunch it automatically. The looping sound will stop immediately.
|
|
|
|
### Proper Dismissal
|
|
Open Notification Center on the Mac (click the clock in the menu bar) and dismiss any queued notifications from the offending app. If the source notification is still pending on the iPhone, dismiss it there as well.
|
|
|
|
## Prevention
|
|
|
|
### Option A — Disable sound for the app on Mac
|
|
Go to **System Settings → Notifications → [App Name]** and either:
|
|
- Turn off **Play sound for notifications**, or
|
|
- Turn off notifications entirely for the app on the Mac
|
|
|
|
The iPhone will still alert normally.
|
|
|
|
### Option B — Dismiss on both devices
|
|
When a high-priority alert fires on iPhone, check both the iPhone and the Mac's Notification Center to ensure both sides are cleared.
|
|
|
|
## Notes
|
|
- This behaviour can be triggered by any iPhone app whose notifications are mirrored to the Mac via Continuity or iPhone Mirroring, not just apps with alarm-style alerts.
|
|
- The Mac maintains its own notification state independently of the iPhone — dismissing on one device does not guarantee dismissal on the other.
|
|
- Apps with persistent or repeating alert styles (such as health monitors, timers, or messaging apps) are most likely to trigger this issue.
|
|
- Unrelated: Ivory (Mastodon client) may show excessive badge update calls in logs on startup — this is a known Ivory bug and not related to audio playback.
|
|
|
|
## Tags
|
|
`macos` `notifications` `iphone-mirroring` `continuity` `tonelibrary` `notificationcenter` `diagnostic` `audio`
|
|
|
|
## See Also
|
|
- 2026-03-30-MajorAir-CGM-Alert-Loop (diagnostic journal entry)
|