AVSpeechSynthesizer does not work on "Mac (Designed for iPad)", with some voices

The iOS 26 sample below speaks well on iPhone/iPad devices and the iOS simulator.

But it does not speak on "Mac (Designed for iPad)", with a voice downloaded via the macOS settings.

Instead it issues this warning :

Invalid maui voice identifier com.apple.voice.enhanced.en-US.Samantha

How to make an iOS app speak on "Mac (Designed for iPad)", with a downloaded voice ?

Note :

  • I use iOS 26.5.2 and macOS 26.5.2.
  • I use voices that can be found in System Settings > Accessibility > Read & Speak > System voice.
  • I have checked that "Samantha (Enhanced)" is the "System voice" in the macOS settings.
  • I have checked that the same issue occurs with other voices and other languages.
  • There is no such issue for a voice that never needs to be downloaded.
import AVFAudio
import SwiftUI

@main
struct SampleApp: App {

    var body: some Scene {

        WindowGroup {

            SampleView()
        }
    }
}

struct SampleView: View {

    private var synthesizer = AVSpeechSynthesizer()

    var body: some View {

        Button("Speak", action: speak)
    }

    private func speak() {

        let utterance = AVSpeechUtterance(string: "I speak English.")

        utterance.voice = AVSpeechSynthesisVoice(language: "en")

        self.synthesizer.speak(utterance)
    }
}

Same issue here, with UIKit app running on Mac.

I get the message, whatever language I select:

-[AFPreferences _languageCodeWithFallback:] No language code saved, but Assistant is enabled - returning: fr-FR

Filed a bug report: FB24476014

It does work on MacOS 26.6.1 with Xcode 26.3 or 27.0 beta4.

So I guess it just needs MacOS 26.

But testing with if #available(macOS(26.0, *) does not work in the context of "designed for iPad" (always returns true).

So I checked with the following:

// When MacOS
let osVersion = ProcessInfo.processInfo.operatingSystemVersion.majorVersion 
if osVersion >= 26 {
  // AVSpeechSynthesizer works
} else {
  // AVSpeechSynthesizer does not work
}
AVSpeechSynthesizer does not work on "Mac (Designed for iPad)", with some voices
 
 
Q