Вы можете сохранить задание, чтобы проверить его состояние, даже отменить его.
На самом деле, процесс транскрибирования не контролируется нами, и когда система думает, что она закончена, она заканчивается.
Если вам нужны точные элементы управления, используйте делегата:
func recognitionTask(with request: SFSpeechRecognitionRequest, delegate: SFSpeechRecognitionTaskDelegate) -> SFSpeechRecognitionTask
Это может предоставить больше информации во время транскрибирования, по крайней мере, оно даст вам знать, когда оно закончится.