在iOS 6中不推荐使用setDelegate

时间:2013-09-26 16:59:13

标签: xcode ios7

我正在尝试使用iOS 7.0运行此示例代码,但由于代码已弃用,我遇到了一些警告。提供的示例代码here尚未在3年内更新。 Here是我发现的解决方案,它对我有意义,但我在示例代码中实现时遇到了问题,因此它将在iOS模拟器中运行。

AVAudioSession* session = [AVAudioSession sharedInstance];
session.delegate = self;// <-------- DEPRECATED IN IOS 6.0

要使警告静音,请将这两行更改为:

[[AVAudioSession sharedInstance] setActive:YES error:nil];

其他人建议

[AVAudioSession sharedInstance];
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(interruption:) name:AVAudioSessionInterruptionNotification object:nil];

以上解决方案是快速修复,但我希望程序正常运行

但这一切让我想知道如何将函数调用setPreferredHardwareSampleRate转换为未弃用的内容

[mySession setPreferredHardwareSampleRate: graphSampleRate
                                    error: &audioSessionError];

enter image description here

1 个答案:

答案 0 :(得分:1)

通常,在不推荐使用某个方法时,会更新标题/文档,并提供有关如何执行操作的建议。看起来the documentation in this case建议-setPreferredSampleRate:error:作为替代。