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

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

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...