Some more data points. Many people have reported this post-dictation lowercasing problem starting a few years ago, which can be found for example searching Google for 'iphone dictation flipping case' and going to the Reddit results. At the time it occurred for all third-party keyboards and not the stock one. However now it does NOT occur for major third-party keyboards such as Gboard.
Also, if I reproduce this, then switch to another keyboard without the problem, dictate there, and then switch back to my keyboard, the problem is gone. It seems like the dictation system is somehow asking the keyboard for information, presumably about the capitalization context in the text field, and for some reason my keyboard doesn't answer. After it gets the information from another keyboard though, it caches this and then uses it for subsequent dictations even in the absence of an answer. However this is puzzling because the keyboard subclasss is not responsible nor exposes any state relating to this – it is the responsibility of the text field which passes a proxy exposed as a proxy by the superclass.
Topic:
UI Frameworks
SubTopic:
UIKit
Tags: