如何使iOS应用程序被识别为AudioUnit



我正在尝试从头开始制作一个最小的iOS插件。从一个空的iOS应用程序(Swift 5,XCode 12.5(开始,我认为将以下dict添加到项目的Info.plist中,使其被识别为AudioPlugin就足够了,但安装后,AUM(或任何其他AUv3主机(没有列出该应用程序。

需要什么才能使广告应用程序被识别为插件?

<dict>
<key>NSExtensionAttributes</key>
<dict>
<key>AudioComponents</key>
<array>
<dict>
<key>description</key>
<string>MIDIAudioUnit</string>
<key>factoryFunction</key>
<string>$(PRODUCT_MODULE_NAME).AudioUnitViewController</string>
<key>manufacturer</key>
<string>INQS</string>
<key>name</key>
<string>MIDIAudioUnit</string>
<key>sandboxSafe</key>
<true/>
<key>subtype</key>
<string>aumi</string>
<key>tags</key>
<array>
<string>Synthesizer</string>
</array>
<key>type</key>
<string>aumi</string>
<key>version</key>
<real>67072</real>
</dict>
</array>
</dict>
<key>NSExtensionMainStoryboard</key>
<string>MainInterface</string>
<key>NSExtensionPointIdentifier</key>
<string>com.apple.AudioUnit-UI</string>
</dict>

从头开始:

  1. 创建新的/空白的iOS应用程序
  2. 添加新目标(类型:音频单元扩展(
  3. 将新的音频单元扩展目标添加到"中的原始父应用的目标;框架、库和嵌入式内容";部分

您在步骤2中创建的目标将是Info.plist中包含您列出的密钥的目标,而不是父应用。

此外,请确保您的音频单元扩展的捆绑包ID以您的父应用程序ID:开头

com.jnpdx.StackOverflowPlayground.AudioUnitParentApp //parent
com.jnpdx.StackOverflowPlayground.AudioUnitParentApp.AudioUnit // child

假设你的音频单元是";发电机";类型,它将出现在AUM中的";MIDI";

我发现AUM不会在任何地方显示aumi类型的AU。请尝试使用aumu(音乐设备(。

最新更新