Speech Recognition Problem in iOS 18.0

It looks like Apple has added some new API(s) to SFSpeechRecognition My app, which is currently listed on App Store does feature speech recognition. Yet, trying to use it under iOS 18.0 throws errors: -[SFSpeechRecognitionTask localSpeechRecognitionClient:speechRecordingDidFail:]_block_invoke Ignoring subsequent local speech recording error: Error Domain=kAFAssistantErrorDomain Code=1101 "(null)" What happens is that after several words are transcribed and displayed, the next sentence results in previous words disappearance. That's probably what that portion of the error text - "Ignoring subsequent local speech recording error: Error Domain=kAFAssistantErrorDomain Code=1101 "(null)" means. The problem occurs ONLY when the app is running under iOS 18.0 Even when it's compiled in Xcode 16.0 using iOS 17.5 everything works fine. Any suggestions?

Answered by iaborodin in 857829022

Finally, there's a good news: in iOS 26 RC the problem - Speech Recognition in custom implementation - appears to be fixed! No more disappearing of the transcribed text after a pause. At least in my tests/trials of this functionality, it works as it did before upgrading to iOS 18. Thank you, Apple!

All of the numbers except mine … return 'Not found'.

That’s expected. Feedback Assistant only shows you bugs that you filed [1]. I address this explicitly in Bug Reporting: How and Why?.

Share and Enjoy

Quinn “The Eskimo!” @ Developer Technical Support @ Apple
let myEmail = "eskimo" + "1" + "@" + "apple.com"

[1] Or members of your team, if you use that feature.

@DTS Engineer

I've read you post about the rules of Feedback Assistant. Thank you for clarifying certain points. Nevertheless, I can't help asking a question: if "Feedback Assistant only shows you bugs that you filed", then what the purpose of the header of the page: "Recent Similar Reports:None Resolution:Open"

I guess that boils down to your definition of “shows”. IMO showing you a count of similar bugs isn’t showing your the other bugs. You can’t, for example, see the titles of the bugs, the initial problem description, the attachments, any communication with the originator, and so on. That’s the definition of “shows” that I’m using.

Share and Enjoy

Quinn “The Eskimo!” @ Developer Technical Support @ Apple
let myEmail = "eskimo" + "1" + "@" + "apple.com"

Another report here: FB15498488

Is anyone seeing progress on their submitted bugs in Feedback Assistant? I just checked mine and was disappointed to see it updated with:

Resolution:Investigation complete - Unable to diagnose with current information

I submitted details about my phone/build. I told them very specifically how to repro the bug using the Apple-written example app 'SpokenWord'. I provided an MP4 showing that app running and manifesting the bug. I provided links to other reports of this same bug (other FB* submissions) in this thread.

I'm not sure what is missing with respect to being able to diagnose it.

Is anyone else having better luck than me?

As of the latest beta (18.1 22B5075a), the 'dropping words' bug as reported here still occurs if requiresOnDeviceRecognition is set to true.

Also, I forgot to mention above. The bug resolution also had:

Recent Similar Reports:None

This despite the fact that my written description explicitly included this verbiage:

Other reports of this bug are here: https://forums.developer.apple.com/forums/thread/762952 https://forums.developer.apple.com/forums/thread/731761

@righteoustales No reply for me either. Apparently, this bug has low priority. Nevertheless, it would be a matter of curtesy if not respect on the part of Apple toward developers (respect, by the way, they swear on all the time) to at least drop a line informing that the report(s) are on the backlog and will be looked at when the time permits.

I haven't gotten a reply on my report either. But I'm seeing the behavior on the developer 18.1 beta has reverted back to the pre 18.0 behavior.

I'm worried that solutions to this bug could give users an inconsistent experience if/when they update to 18.1

Same here: FB15555684

Same same, different place, same bug

FB15587171

A slim hope. Somebody on the Internet has claimed that the bug is recognized by Apple internally. https://forums.getdrafts.com/t/ios-18-macos-15-beta-warning-for-dictation-users/15334

That's good to hear! I also encourage anyone else who comes here to take a look at my solution here https://forums.developer.apple.com/forums/thread/762952?answerId=804689022#804689022. Although the behavior isn't consistent (capitalizing new text), it at least stops the text from being wiped between pauses

Finally, there's a good news: in iOS 26 RC the problem - Speech Recognition in custom implementation - appears to be fixed! No more disappearing of the transcribed text after a pause. At least in my tests/trials of this functionality, it works as it did before upgrading to iOS 18. Thank you, Apple!

Alas, my enthusiasm was a little bit premature. While my iPhone running iOS 26 proves that the problem has been fixed, somebody's iPad (though running at the moment iPadOS 18), despite getting the app being compiled and installed from Xcode 26, shows the bug being still there. How come that iOS 26 does have a fix, but iPadOS 26 does not (I checked on Simulater as well).

@iaborodin (and everyone)

Checking back in on this.

I updated both XCode and iOS to 26. I rebuilt Apple's Spoken Word app with a minimum deployment of iOS 26.

From what I see nothing has changed since I looked at this roughly 1 year ago.

If the code has:

recognitionRequest.requiresOnDeviceRecognition = true

  • Words are dropped after a brief pause (approx 2 seconds) while still recording.

  • If you pause after speaking your final word(s), then click 'Stop recording" the final callback with the result.isFinal flag set to true will be blank/empty.

But If the code has:

recognitionRequest.requiresOnDeviceRecognition = false

  • No words are dropped.

  • If you pause after speaking your final word(s), then click 'Stop recording" the final callback with the result.isFinal flag set to true will be every word spoken.

So, status quo and still broken from what I see.

My workaround is to set the requiresOnDeviceRecognition flag = false.

Fortunately, this seems to work even if the phone is in airplane mode (ie. no network access is enabled).

(For those using the Flutter speech-to-text feature, the equivalent flag used there seems consistent with the above.)

Speech Recognition Problem in iOS 18.0
 
 
Q