升级AudioKit到5.2.0后报错找不到STKAudioKit_STK bundle如何解决
AudioKit 5.2.0 STK bundle找不到报错修复方案
报错根因
AudioKit 5.2.0拆分多模块架构后,Swift Package Manager默认不会自动拷贝间接依赖的资源包,STKAudioKit作为间接依赖时,它的STKAudioKit_STK.bundle资源包不会被自动嵌入到主项目包中,就会触发该崩溃。
AudioKit Cookbook可以正常运行的原因是,该项目直接将STKAudioKit声明为了直接依赖,Xcode会自动处理直接依赖的资源拷贝逻辑。
可行修复方案
- 方案1:添加STKAudioKit为直接依赖
打开Xcode项目的Package Dependencies配置面板,找到你引入的AudioKit依赖源,在目标关联的依赖项中额外勾选STKAudioKit,重新拉取依赖并编译即可。 - 方案2:手动拷贝资源包
如果方案1不生效,可手动处理资源拷贝:- 在Xcode左侧导航栏展开
Dependencies分组,找到STKAudioKit下的STKAudioKit_STK.bundle文件 - 将该bundle拖拽到主项目的
Build Phases->Copy Bundle Resources列表中,勾选Copy items if needed后重新编译
- 在Xcode左侧导航栏展开
- 方案3:升级Xcode版本
Xcode 12.5.1对SwiftPM的资源访问逻辑存在已知兼容性问题,升级到Xcode 13及以上版本后,重新拉取依赖编译即可自动解决该资源识别问题 - 方案4:移除STK相关依赖
如果你没有用到STK组件相关的音效能力,可以完全移除依赖链中的STKAudioKit相关引入,仅保留你实际用到的AudioKit核心模块即可规避该报错
注意:修改依赖配置后如果仍然报错,可以先清空Xcode的DerivedData缓存目录,再重新编译,避免旧缓存影响配置生效
内容的提问来源于stack exchange,提问作者Richard Ribier
相关产品推荐
相关产品推荐

