Я пытаюсь использовать свой код для совместимости как с iOS 6 & 7, используя синтезированную речь. Я хочу, чтобы это было доступно для прошивки 7 и не доступно для прошивки 6.dyld: Символ не найден: _AVSpeechUtteranceMaximumSpeechRate
Проблемы в том, когда я бег в симуляторе в IOS 6, что дает следующие ошибки еще до того, как имитатора получить, чтобы начать: dyld: Symbol not found: _AVSpeechUtteranceMaximumSpeechRate
.
Если я прокомментирую строку: utterance.rate = AVSpeechUtteranceMaximumSpeechRate/4.0f;
отлично подходит для iOS 6, даже если она не предназначена для этого.
В чем проблема?
Спасибо.
if (floor(NSFoundationVersionNumber) > NSFoundationVersionNumber_iOS_6_1) {
// Load resources for iOS 7 or later
AVSpeechSynthesizer *synthesizer = [[AVSpeechSynthesizer alloc] init];
AVSpeechUtterance *utterance = [AVSpeechUtterance speechUtteranceWithString:selectedText];
utterance.rate = AVSpeechUtteranceMaximumSpeechRate/4.0f;
utterance.voice = [AVSpeechSynthesisVoice voiceWithLanguage:@"en-US"]; // defaults to your system language
[synthesizer speakUtterance:utterance];
[synthesizer release];
}
else{
// Load resources for iOS 6 or earlier
UIAlertView *alert = [[[UIAlertView alloc] initWithTitle:@"Sorry"
message:@"This feature requires iOS 7.0 or later"
delegate:Nil
cancelButtonTitle:@"OK"
otherButtonTitles: nil] autorelease];
[alert show];
}
Спасибо, это действительно решило проблему –