升级Xcode至最新版本后出现No such module 'UnityFramework'错误求助
升级Xcode至最新版本后出现No such module 'UnityFramework'错误求助
我太懂这种升级完开发环境就掉坑的崩溃感了——之前好好的Unity集成,一升级Xcode到16.3、更新系统后就报找不到UnityFramework,真的闹心!结合你之前用CocoaPods、Unity正常运行的背景,给你整理几个实用的排查和解决步骤:
先从CocoaPods配置入手排查
- 先把CocoaPods更到最新版本,新Xcode通常需要适配的Pods版本,打开终端执行:
gem install cocoapods - 进入你的iOS项目目录,彻底清理旧Pods配置后重新安装:
pod deintegrate pod install - 打开Podfile检查UnityFramework的引用路径是否正确,有没有因为系统升级导致路径变更的情况。
验证UnityFramework的项目配置
- 务必打开Xcode的
.xcworkspace文件(别用.xcodeproj,CocoaPods项目必须用工作区文件),在项目的Build Settings里找到Framework Search Paths,确保UnityFramework所在的路径已添加,并且勾选Recursive(递归搜索),比如你的Unity项目放在主项目的Unity-iPhone目录下,路径可设为$(SRCROOT)/Unity-iPhone/Libraries。 - 转到
Frameworks, Libraries, and Embedded Content面板,检查UnityFramework是否在列表中,且设置为Embed & Sign(这个选项对Unity框架的正常加载至关重要)。
清理Xcode缓存和构建产物
- 先按
Command + Shift + K清理当前项目的构建文件夹,再按Command + Option + Shift + K清理Xcode的Derived Data(这个缓存经常引发各种奇怪问题)。 - 也可以手动删除Derived Data:打开Finder,按
Command + Shift + G,输入~/Library/Developer/Xcode/DerivedData,找到对应项目的文件夹删掉,然后重启Xcode重新构建。
重新导出Unity项目适配新Xcode
如果你是把Unity导出的iOS项目集成到主项目里,建议重新导出一次:
- 打开Unity编辑器,选择
File > Build Settings > iOS,点击Player Settings,确认架构设置为ARM64(新Xcode默认只支持这个架构,旧版本可能带x86_64,容易导致不兼容)。 - 重新导出Xcode项目,把新导出的UnityFramework替换到主项目对应位置,再重新执行
pod install。
检查其他关键配置
- 查看项目
Build Settings里的Other Linker Flags,确认已添加-framework UnityFramework的引用。 - 检查
Module Search Paths,确保UnityFramework所在目录被包含进去,毕竟“No such module”错误大多是因为Xcode找不到模块的搜索路径。
如果以上步骤都试过还是不行,可以看看Xcode报错日志里的详细信息,比如有没有提示找不到具体文件路径、或是架构不匹配的问题,再针对性调整。
内容来源于stack exchange
相关产品推荐
相关产品推荐

