AVSpeechSynthesizer funktioniert auf dem Simulator, aber nicht auf dem Gerät

Ich habe versucht, AVSpeechSynthesis zu lernen. Der Code funktioniert gut im iOS-Simulator (sowohl auf dem iPad als auch auf dem iOS), aber die Text-zu-Sprache-Funktion funktioniert auf meinem iPad überhaupt nicht. Hier ist mein Code.

    - (void)viewDidLoad
{

[super viewDidLoad];
// Do any additional setup after loading the view, typically from a nib.



//Load Model
    self.string = @"Hello World";
    self.utterance = [[AVSpeechUtterance alloc] initWithString:self.string];
    self.utterance.voice = [AVSpeechSynthesisVoice voiceWithLanguage:@"en-US"];
    self.utterance.rate = (float) 0.25;

    //Load UI
    self.textLabel.text = self.string;


}

- (IBAction)startSpeaking:(id)sender {

    self.speechSynthesizer = [[AVSpeechSynthesizer alloc] init];

    if ([self.speechSynthesizer isSpeaking]) {

        [self.speechSynthesizer pauseSpeakingAtBoundary:AVSpeechBoundaryWord];


    } else {

        [self.speechSynthesizer speakUtterance:self.utterance];

    }    
}

UPDATE: AVSpeechSyntheSizer funktioniert, aber kein Ton Ich habe also ein UILabel mit dem gleichen Text wie die AVSpeechUtterance auf der Benutzeroberfläche. Ich habe AVSpeechSynthesizerDelegate so implementiert, dass das aktuelle Wort rot wird, wenn ich startSpeaking drücke. Ich weiß also, dass AVSpeechSynthesizer funktionieren muss, weil es Delegiertenanrufe tätigt, aber ich kann nicht herausfinden, warum ich es nicht hören kann. Die Lautstärke ist erhöht und keine anderen Apps geben Audio wieder.

Antworten auf die Frage(2)

Ihre Antwort auf die Frage