2013-09-26 2 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 ошибка: & audioSessionError]; – foo

Смежные вопросы