Я использую библиотеку Novocaine от: https://github.com/alexbw/novocaine для воспроизведения файлов wav. Я знаю, что у iOS есть собственный API медиаплеера, но его ограничение находится в предустановленных эквалайзерах. Мне нужно использовать Novocaine, потому что я использую NVDSP https://github.com/bartolsthoorn/NVDSP для реализации 10-полосного графического эквалайзера.Приложение iOS запрашивает доступ к микрофону, даже для kAudioSessionCategory_MediaPlayback
Apple отклонила мое отправленное приложение, поскольку оно запрашивает доступ к микрофону, но это только приложение для воспроизведения. Они сказали:
«Запрос согласия микрофона генерируется с использованием либо AVAudioSessionCategoryRecord или AVAudioSessionCategoryPlayAndRecord аудио категории»
В Novocaine.m, я изменил setupAudio от
UInt32 sessionCategory = kAudioSessionCategory_PlayAndRecord
каждому из них:
UInt32 sessionCategory = kAudioSessionCategory_MediaPlayback
UInt32 sessionCategory = kAudioSessionCategory_AmbientSound
UInt32 sessionCategory = kAudioSessionCategory_SoloAmbientSound
но в каждом из вышеуказанных случаев приложение все еще запрашивал доступ к микрофону.
Я искал весь код, и это единственное место, где установлена категория аудиосеанса.
Чтобы проверить, после каждого изменения, вы должны сделать это на IPOD:
Настройки -> Общие -> Сброс -> Сброс Местоположение & конфиденциальности
иначе тест не является действительным.
Я пропустил почти весь код Novocaine с помощью отладчика XCode, но его очень сложно диагностировать, поскольку всплывающее окно с доступом к микрофону отображается только тогда, когда отображается представление, однако проверка на это происходит намного раньше в коде.
Есть ли другое место в коде, который запрашивает доступ к микрофону или влияет на доступ к микрофону в качестве побочного эффекта?
Я использую XCode 5.0.2 (5A3005) с iOS SDK 7.0, а мое единственное тестовое устройство - это iPod Touch 5-го поколения.
Я бегу в том же номере. Любая удача найти решение? – Rogare