I am testing SFSpeechRecognizer using the en_US locale.
When the iPhone Simulator’s system language is set to Japanese, SFSpeechRecognizer.isAvailable returns false for en_US, so speech recognition is unavailable.
As far as I have tested, this issue does not occur on iOS Simulator 26.2 or earlier.
Is this a Simulator-specific issue, or is it a behavior change that could also occur on physical devices? Has any additional setup become necessary to use speech recognition in Simulator?
I then changed the iPhone Simulator’s system language to English. After doing so, SFSpeechRecognizer.isAvailable returned true for en_US. However, starting a recognition task still failed immediately with kLSRErrorDomain Code=300, “Failed to initialize recognizer.”
The following error was returned:
Error Domain=kLSRErrorDomain Code=300 "Failed to initialize recognizer"
UserInfo={
NSLocalizedDescription=Failed to initialize recognizer,
NSUnderlyingError={
Error Domain=kLSRErrorDomain Code=300
"Failed to create recognizer from=/Users/<USERNAME>/Library/Developer/CoreSimulator/Devices/<DEVICE-UUID>/data/private/var/MobileAsset/AssetsV2/com_apple_MobileAsset_UAF_Siri_Understanding/purpose_auto/
c079bfa6b8856202dc8cb2135fef3b06229ced6e.asset/AssetData/mini.json"
UserInfo={
NSLocalizedDescription=Failed to create recognizer from=/Users/<USERNAME>/Library/Developer/CoreSimulator/Devices/<DEVICE-UUID>/data/private/var/MobileAsset/AssetsV2/com_apple_MobileAsset_UAF_Siri_Understanding/purpose_auto/
c079bfa6b8856202dc8cb2135fef3b06229ced6e.asset/AssetData/mini.json
}
}
}
I have not observed either of these issues on iOS Simulator 26.2 or earlier:
- With the Simulator language set to Japanese, the en_US recognizer does not become unavailable.
- When SFSpeechRecognizer.isAvailable is true, recognition does not fail with kLSRErrorDomain Code=300.
Environment
- Xcode: 26.6 (17F113)
- iOS Simulator 26.5 (23F77), iPhone 17 (A3258J/A)
- iOS Simulator 26.4 (23E244), iPhone 17 (A3258J/A)