如何修改iOS AudioUnit扩展的显示名称?(Xcode11.1+iOS13环境)
解决iOS AudioUnit扩展显示名称不更新的问题
我之前也碰到过Xcode 11.1 + iOS 13下AudioUnit扩展名称在AudioBus、AUM里不生效的情况,你踩的坑我都踩过,给你几个关键的排查点和解决步骤:
重点修正
AudioComponents的name字段
你之前改的description是组件的描述文本,而AudioUnit在宿主应用里的显示名称是由AudioComponents数组中对应字典的name键控制的。打开你的扩展目标的Info.plist,找到AudioComponents数组,确保里面的字典包含name键,值设为你想要的显示名称:<key>AudioComponents</key> <array> <dict> <key>name</key> <string>你的自定义效果器名称</string> <key>componentType</key> <string>aufx</string> <key>componentSubType</key> <string>XXXX</string> <!-- 你的组件子类型 --> <key>componentManufacturer</key> <string>XXXX</string> <!-- 你的厂商标识 --> <key>description</key> <string>这是组件的描述,不是显示名称</string> </dict> </array>同步Bundle相关字段
虽然核心是name字段,但为了避免宿主应用读取备用字段出错,同步设置以下两个字段:CFBundleDisplayName:对应General选项卡的Display NameCFBundleName:Bundle的短名称,确保和你要的显示名称一致
彻底清理缓存(关键步骤)
iOS 13和Xcode 11.1的缓存机制有时候会抽风,导致修改不生效:- 从测试设备上彻底删除主APP和AudioUnit扩展
- 清理Xcode的Derived Data:打开Xcode → 顶部菜单
Xcode→Preferences→Locations→ 点击Derived Data路径旁的箭头,删除当前项目的文件夹 - 重启Xcode和你的iOS设备,然后重新构建并安装
验证配置是否生效
安装完成后,先打开主APP触发扩展加载,再打开AudioBus或AUM查看名称是否更新。如果还是不行,检查Xcode的Build Log,确认扩展的Info.plist是否正确打包进去了。
内容的提问来源于stack exchange,提问作者Nitenq
相关产品推荐
相关产品推荐

