2015-10-31 23 views
6

Ho caricato un archivio su App Store e sto avendo un crash quando sto provando a riprodurre un suono di introduzione. Sto usando AVAudioEngine per riprodurre il suono. Quando compilo ed eseguo il codice tramite Xcode, tutto funziona correttamente. Quando carico su TestFlight e provo a eseguire la mia app come tester interno, la mia app si arresta in modo anomalo. Il rapporto incidente è:Arresto anomalo dell'app di prova con libAVFAudio.dylib: AVAE_RaiseException (NSString *, ...) + 60

enter image description here

Se uso AVAudioPlayer per riprodurre quel suono è ok. Non riesco a capire qual è il problema con AVAudioEngine. Qualche consiglio?

+0

Ho lo stesso problema ... Qualcuno può consigliare? – KorinW

+0

Eventuali aggiornamenti, sto affrontando lo stesso problema? –

+0

Non ho mai trovato una soluzione ... Ho usato AVAudioPlayer invece. – Thomas

risposta

1

Ho affrontato la stessa eccezione solo nella versione build della mia app e specifica per iPhone7. L'eccezione sembra verificarsi in un punto variabile della categoria di sessione audio. Nel mio caso, passando da

AVAudioSessionCategorySoloAmbient 

al

AVAudioSessionCategoryPlayAndRecord, with: AVAudioSessionCategoryOptions.defaultToSpeaker 

Ho trovato una soluzione che funziona, almeno solo per me.

Il seguente articolo https://forums.developer.apple.com/thread/65656 indica che questo tipo di eccezione si verifica durante l'inizializzazione di più unità audio di ingresso.

Per evitare l'inizializzazione di molteplici unità di ingresso audio, ho aggiunti i seguenti codici prima del cambiamento di categoria sessione audio

AudioOutputUnitStop((engine.inputNode?.audioUnit)!) 
AudioUnitUninitialize((engine.inputNode?.audioUnit)!) 

motore è l'istanza di AVAudioEngine.

Spero che ti aiuti ragazzi!