如何正确创建可被GarageBand识别的Audio Unit Extension
Audio Unit Extension 未被GarageBand识别排查清单
- 检查Extension的Info.plist配置
确认NSExtension→NSExtensionAttributes下的核心字段符合要求:audioUnitType必须为aufx(Effect类型对应固定值,偶发Xcode模板生成错误)audioUnitSubtype、audioUnitManufacturer必须为4位可打印ASCII字符,不能使用特殊符号、中文,也不能占用苹果官方保留的厂商编码如appl- 新增
audioUnitIsSandboxSafe字段,值设为YES,当前iOS、Mac平台均要求AU插件声明沙箱安全才能被宿主识别
- 核对Bundle ID结构
Extension的Bundle ID必须为宿主App Bundle ID的子级,例如宿主Bundle ID为com.demo.MyAUApp,Extension的Bundle ID必须为com.demo.MyAUApp.MyAUExtension,不可使用无关联的独立Bundle ID - 统一签名配置
宿主App和Extension两个target必须使用同一个开发团队ID签名,建议两个target同时使用自动签名,避免手动签名时出现配置不一致 - 确认部署版本与平台适配
- Extension的最低部署版本不可高于测试设备的系统版本,也不可高于你使用的GarageBand版本支持的最低系统版本
- 开启Mac Catalyst的场景下,需要同时给Extension勾选「Mac」平台支持,两个target的Catalyst配置保持同步,且Extension沙箱权限中要开放音频输入输出权限
- 调整测试操作时序
首次安装带AU Extension的App到设备后,系统需要10-20秒的注册时间,不要安装完成后立刻打开GarageBand,建议先完全杀掉GarageBand后台进程,等待半分钟后再打开查找插件
内容的提问来源于stack exchange,提问作者Ráfagan
相关产品推荐
相关产品推荐

