gpt4 book ai didi

ios6 - dyld:找不到符号:_AVSpeechUtteranceMaximumSpeechRate

转载 作者:行者123 更新时间:2023-12-02 08:36:33 25 4
gpt4 key购买 nike

我正在尝试使用合成语音使我的代码与 iOS 6 和 7 兼容。我希望它适用于 iOS 7 而不适用于 iOS 6。

问题是,当我在 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];

}

最佳答案

只需在文件顶部添加这一行:

AVF_EXPORT const float AVSpeechUtteranceMaximumSpeechRate NS_AVAILABLE_IOS(7_0);

对于弱导入的符号,如果应用启动时找不到该符号,dyld 将不会崩溃。

关于ios6 - dyld:找不到符号:_AVSpeechUtteranceMaximumSpeechRate,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20706432/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com