Что делает CAInterAppAudioTransportView внутри своего updateStateFromTransportCallback, чтобы вызвать сбой моего приложения?

У меня нет проблем с подключением моего приложения к Garageband через IAA, через Audiobus, и это прекрасно работает, я даже могу вывести значок хост-приложения, но если я пытаюсь использовать вид транспорта Apple, я получаю ошибку неверного доступа.

Я создаю экземпляр CAInterAppAudioTransportView, как описано на WWDC2014 или на форуме TAAE:

@IBOutlet weak var transportView: CAInterAppAudioTransportView!

и присоедините вывод к моему выводу (опять же, это работает, так как Garageband записывает мой вывод:

transportView.setOutputAudioUnit(AudioKit.engine.outputNode.audioUnit!)

И когда я его запускаю, все идет хорошо, пока я не подключу приложение в Garageband и не переключусь обратно на приложение. Вот когда в теме 1 я прохожу цикл "приложение вышло на передний план", в результате чего:

2: [CAInterAppAudioTransportView appHasGoneForeground]
1: [CAInterAppAudioTransportView updateStatefromTransportCallback]
0: 0x000000000

Thread 1: EXC_BAD_ACCESS (code=1, address = 0x0)

Если я никогда не установлю Выходной аудиоустройство представления транспорта, я не столкнусь с этой ошибкой, но представление транспорта никогда не обновляется. Так что это связано с этим.

Так как код Apple является закрытым исходным кодом, я на самом деле не могу заглянуть в него, чтобы увидеть, к чему он пытается получить доступ, но не находит, но, возможно, кто-то здесь знает, что на самом деле в методе-нарушителе.

Большое спасибо заранее.

0 ответов

Другие вопросы по тегам