Title UNNotificationSound(named:) rejects bundled custom sounds and plays the default sound on macOS 26.6

I’m seeing what appears to be a regression in custom local-notification sounds on macOS 26.6. According to the UNNotificationSound documentation, a custom sound can be stored in the main application bundle and supplied using UNNotificationSound(named:).

Environment: macOS 26.6 (25G72) Xcode 26.6 (17F113) Swift 6.3.3 Apple Silicon Sandboxed native macOS application Notification authorization granted Sounds enabled for the application in System Settings

import AppKit
import UserNotifications

let center = UNUserNotificationCenter.current()
let soundFilename = "notification_probe.aiff"

guard Bundle.main.url(
    forResource: soundFilename,
    withExtension: nil
) != nil else {
    fatalError("Sound is missing from the application bundle")
}

let content = UNMutableNotificationContent()
content.title = "Custom sound test"
content.body = "This should play the bundled custom sound."
content.sound = UNNotificationSound(
    named: UNNotificationSoundName(rawValue: soundFilename)
)

// Ensure the application is inactive so macOS presents the notification.
NSApp.hide(nil)

try await Task.sleep(for: .milliseconds(250))

try await center.add(
    UNNotificationRequest(
        identifier: "custom_sound_test",
        content: content,
        trigger: nil
    )
)

The sound is correctly copied to: MyApp.app/Contents/Resources/notification_probe.aiff

I tested two separate files: CAF and AIFF both files are shorter than 30 seconds and comply with the documented custom-sound requirements.

Actual result:

  • The notification is delivered and displayed correctly.
  • macOS plays the default notification sound.
  • The custom sound is not played.

The unified log shows Notification Center receiving the correct custom filename, but ToneLibrary then rejects it:

[com.apple.unc:sound]
Playing notification sound { nam: notification_probe.aiff } for com.example.MyApp

[com.apple.ToneLibrary:ToneManagement]
Tone with identifier 'notification_probe.aiff' is neither in the collections
for system or iTunes tones.

Performed basic check for validity of tone with identifier
'notification_probe.aiff': NO.

-toneWithIdentifierIsValid:(notification_probe.aiff): Returning NO.

Immediately afterwards, SystemSoundServer plays the standard macOS notification sound.

Immediately afterwards, SystemSoundServer plays the standard macOS notification sound

At present, the only working solution is to submit a silent notification and play the sound independently through AudioToolbox, which loses the normal coupling between notification presentation and sound playback.

Is this a bug or what ?

Title UNNotificationSound(named:) rejects bundled custom sounds and plays the default sound on macOS 26.6
 
 
Q