У меня есть следующий код для настройки AVAudioUnit из AUAudioUnit как части AVAudioEngine.
Я заметил, что свойство AUAudioUnit AVAudioUnit было введено в iOS 11. Я получаю предупреждение от Xcode:
«AUAudioUnit» доступен только на iOS 11.0 или более новой версии
@property (nonatomic, assign) AudioComponentDescription audioProcessorAUDescription;
@property (nonatomic, strong) AUStereoProcessor* audioProcessor;
@property (nonatomic, strong) AVAudioNode* audioNode;
//...
[AVAudioUnit instantiateWithComponentDescription:self.audioProcessorAUDescription options:0 completionHandler:^(__kindof AVAudioUnit * _Nullable audioUnit, NSError * _Nullable error)
if (audioUnit && error == nil) {
self.audioNode = audioUnit;
self.audioProcessor = (AUStereoProcessor*) self.audioNode.AUAudioUnit;
//...
Есть ли способ сделать код совместимым с iOS 8 или 9?
РЕДАКТИРОВАТЬ Я только что протестировал код на устройстве под управлением iOS 10.3, и он работает нормально ... Интересно, если это ошибка в API?