Это буквально заняло у меня НЕДЕЛИ, чтобы найти детали, чтобы заставить это работать должным образом. Нет никакого примера кода от Apple, который объяснил бы, как это должно работать.
Основной проблемой было получение удаленного viewcontroller из плагина при первом запуске содержащего приложения. Плагин AUv3 прекрасно работает, когда он был вставлен в Garageband один раз, чтобы обрабатывать регистрацию в системе, но без этого шага не было доступно удаленного ViewController.
Я видел другие реализации, которые читают AUv3 viewController из связать и подключить элементы пользовательского интерфейса к контроллеру без головы - это шаблонный код и плохой стиль IMO ... лучше использовать AVAudioUnit
и получить AUAudioUnit_XH
, включая AUAudioUnitRemoteViewController
, используя эту оболочку:
AU_AudioUnit = AVaudioUnit.AUAudioUnit
Чтобы заставить AudioUnit работать внутри содержащего приложения, существует несколько зависимостей:
Плагин AUv3 необходимо зарегистрировать с помощью registerSubclass
метод.
Должен быть установлен наблюдатель на AVAudioUnitComponentManagerRegistrationsChangedNotification
.
Функцию Inter-App Audio
необходимо переключить в правах!
Я надеюсь, что это поможет вам там и сэкономит вам много долгих и одиноких ночей ...