2013-09-26 183 views
3

我正在嘗試使用iOS 7.0運行此示例代碼,但由於不推薦使用的代碼,我遇到了一些警告。提供的示例代碼here在3年內未更新。 Here是我發現的解決方案,對我有意義,但我在示例代碼中執行時遇到問題,因此它將在iOS模擬器中運行。setDelegate在iOS 6中棄用

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

沉默警告改變那些2線到這一點:

[[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

+0

「改爲使用此類的通知部分中描述的通知。」 –

+0

我不知道該怎麼做 – foo

+0

我建議從這裏開始:https://developer.apple.com/library/ios/documentation/Cocoa/Conceptual/Notifications/Introduction/introNotifications.html –

回答

1

一般來說,當一個方法已過時,頭/文檔用什麼做的,而不是建議更新。看起來像the documentation in this case建議-setPreferredSampleRate:error:作爲替代。

+0

翻譯的方法是什麼調用語句實際上看起來像在這種情況下? – foo

+0

鑑於建議的方法與它所取代的棄用方法具有相同的參數和返回類型,它看起來幾乎完全一樣。 –

+0

非常新的Xcode你能告訴我這應該被翻譯成什麼[mySession setPreferredHardwareSampleRate:graphSampleRate error:&audioSessionError]; – foo

相關問題