Xcode 15.3编译混编自定义框架报错:模块未使用额外module map
Xcode 15.3编译Objective-C/Swift混编自定义框架报错解决办法
报错信息:
Module 'ABC' does not use additional module map '/Users/avinash/Library/Developer/Xcode/DerivedData/ABC-ckofsggoxbykcfgdlmgkteeffuvq/Build/Products/Debug-iphonesimulator/ABC.framework/Modules/module.modulemap' not used when the module was built
以下是经过验证的解决步骤:
- 清理构建缓存:
直接删除报错路径指向的DerivedData文件夹,或者在Xcode中使用快捷键Shift+Cmd+K执行Clean Build Folder,之后重启Xcode重新编译。 - 检查框架模块配置:
打开框架target的Build Settings,搜索Module Map File,确认路径是否匹配实际的modulemap文件位置(Xcode 15.3对自动生成的模块映射路径识别逻辑有调整,手动指定路径可能解决问题);同时确认Defines Module设置为YES,Module Name和框架名称完全一致。 - 核对混编相关配置:
检查框架target的Build Settings中Objective-C Generated Interface Header Name是否正确配置;进入Build Phases的Compile Sources,确认所有需要的Objective-C和Swift文件都已添加,没有无效引用。 - 重新构建框架:
删除已经生成的ABC.framework文件,先单独构建框架target,确保构建成功后再让主工程引用新生成的框架文件。 - 临时切换构建系统(备选方案):
如果上述方法无效,可以在Xcode的File > Project Settings中,将Build System切换为Legacy Build System,尝试重新编译。
内容的提问来源于stack exchange,提问作者App Developer
相关产品推荐
相关产品推荐

