我正在尝试将音频单元扩展添加到我的iOS应用程序。我在Xcode中使用文件>新建>目标>音频单元扩展来使用内置模板,填写信息以填充Info.plist文件,然后构建并运行我的应用程序。尽管音频单元还没有做任何事情,我希望音频单元在这一点上对主机应用程序是可见的,但事实并非如此。
我下载并运行了苹果的FilterDemo应用程序,它创建了一个音频单元扩展,类似于我从Xcode模板中获得的扩展,并出现在主机应用程序中(我使用Auria作为主机来测试音频单元)。
我尝试运行我的应用程序的主目标,或者运行扩展目标并选择Auria作为主机应用程序,但都不起作用。在运行FilterDemo应用程序时,我只运行了主目标程序,这起作用了。
我检查了FilterDemo和我的应用程序的Info.plist和构建设置,但我没有看到任何显著的区别。我还打开了Xcode build文件夹,查看了我在调试模式下运行的应用程序包,并确认我的音频单元扩展(.appex包)在插件文件夹中。
在Info.plist文件中,我的扩展类型是augn (生成器),制造商是测试,描述是共享音频。我尝试对这些设置进行了一些更改,但没有任何帮助。
我认为现有的应用程序间音频功能可能会造成干扰,所以我从容器应用程序的Info.plist文件中删除了AudioComponents部分。这使得IAA组件从主机应用程序中消失,但没有使AUv3组件出现。
我已经通读了App Extension Programming Guide、the AUAudioUnit class reference、this tutorial和this one,以及这一功能的WWDC introduction文本,但它们都没有提到让该扩展对主机应用程序可见所需的任何额外步骤。
我遗漏了什么?
发布于 2021-10-11 15:46:22
您应该首先运行所有应用程序安装,然后运行扩展:
同样的过程也适用于MacOS,但是您应该创建并清空MacOs项目和MacOS音频单元扩展目标。如果你使用的是MacOS Catalyst,为两个平台创建两个音频单元扩展,并在项目>构建阶段>“嵌入应用程序扩展”中配置哪个将用于哪个平台。
当您运行扩展目标MacOS车库乐队时,请确保您已在首选项>音频/Midi>启用音频单元中启用了AudioUnit菜单。然后在底部的Track > Plug-ins > Audio Units >{制造商代码}> {Audio Unit Extension Name}中配置。
在MacOS中,外壳命令pluginkit -m和auval -a分别帮助您检查插件是否安装在MacOS中,以及音频单元是否被识别。
我已经使用MacOS 11.6、iOS 15.0.1、MacOS GarageBand 10.4.3、iOS GarageBand later 2021-10和Xcode13.0做了这个实验。
https://stackoverflow.com/questions/61360087
复制相似问题