首页 > 解决方案 > AUv3 AudioUnit 扩展,IPCAUClient:捆绑显示名称为 nil

问题描述

在我的 AUv3 AudioUnit Extension 中,我在调试控制台输出中收到此错误消息:

IPCAUClient.cpp:129:ConnectToRegistrationServer: IPCAUClient: bundle display name is nil

但是 info.plist 文件中有一个名称……有人有同样的问题吗?

在此处输入图像描述

标签: audiounitauv3

解决方案


从字面上看,这花了我数周时间才找到细节以使其正常工作。Apple 没有示例代码可以解释这应该如何工作。

主要问题是在包含应用程序的第一次启动时从插件中获取远程视图控制器。AUv3 插件在被插入到 Garageband 中时完美运行,一旦处理注册到系统,但没有这一步,就没有远程 ViewController 可用。

我看到了其他实现,它们从包中读取 AUv3 viewController 并将 UI 元素连接到无头控制器 - 这是样板代码和糟糕的 IMO 风格......更好地使用 an并通过使用此包装器从那里AVAudioUnit派生AUAudioUnit_XH 包括:AUAudioUnitRemoteViewController

AU_AudioUnit = AVaudioUnit.AUAudioUnit

为了让 AudioUnit 在包含的应用程序中工作,有几个依赖项:

  1. AUv3插件需要使用该registerSubclass方法注册。

  2. 安装时需要有一个观察者AVAudioUnitComponentManagerRegistrationsChangedNotification

  3. Inter-App Audio功能需要在权利中开启!

我希望这可以帮助您,并为您节省许多漫长而孤独的夜晚...


推荐阅读