【问题标题】:setDelegate deprecated in iOS 6在 iOS 6 中不推荐使用 setDelegate
【发布时间】:2013-09-26 16:59:13
【问题描述】:

我试图让这个示例代码在 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];

【问题讨论】:

标签: xcode ios7


【解决方案1】:

通常,当一个方法被弃用时,标题/文档会更新,并提供有关如何操作的建议。看起来the documentation in this case 建议将-setPreferredSampleRate:error: 作为替代方案。

【讨论】:

  • 在这种情况下,翻译后的方法调用语句实际上是什么样的?
  • 鉴于建议的方法与它所取代的不推荐使用的方法具有相同的参数和返回类型,它看起来几乎完全相同。
  • 对 xcode 很新,你能告诉我这应该翻译成什么 [mySession setPreferredHardwareSampleRate: graphSampleRate error: &audioSessionError];
猜你喜欢
  • 1970-01-01
  • 2012-09-09
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多