У меня нет проблем с подключением моего приложения к 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 является закрытым исходным кодом, я на самом деле не могу заглянуть в него, чтобы увидеть, к чему он пытается получить доступ, но не находит, но, возможно, кто-то здесь знает, что на самом деле происходит в методе обидчика.
Большое спасибо заранее.