Xcode 10运行项目出现“dyld: Symbol not found: __T0BOWV”错误如何解决?
这个错误本质是Swift版本不兼容导致的符号缺失问题——你项目里引入的PKHUD框架是用某个特定版本的Swift编译的,但当前项目使用的Swift版本和它不匹配,导致运行时libswiftCore.dylib里找不到对应的符号。下面是具体的解决步骤:
统一Swift版本
打开Xcode,进入项目的Build Settings,搜索Swift Language Version,确保你的主项目Target和PKHUD的Target(如果是本地引入的框架)使用完全相同的Swift版本。如果是通过CocoaPods引入的PKHUD,记得在Podfile里添加版本指定,比如:post_install do |installer| installer.pods_project.targets.each do |target| if target.name == 'PKHUD' target.build_configurations.each do |config| config.build_settings['SWIFT_VERSION'] = '5.9' # 替换成你项目用的Swift版本 end end end end之后执行
pod install重新编译依赖。清理项目缓存
先通过Cmd + Shift + K执行Clean Build Folder,再手动删除Derived Data(路径在Xcode偏好设置→Locations里可以找到,或者直接执行命令:rm -rf ~/Library/Developer/Xcode/DerivedData)。最后重启Xcode和模拟器,彻底清除缓存残留。重新引入PKHUD框架
如果是CocoaPods管理的依赖,先执行pod deintegrate移除现有依赖,删除Podfile.lock文件后再执行pod install,确保拉取适配当前Swift版本的PKHUD最新版本。如果是手动引入的框架,重新下载PKHUD的最新源码并添加到项目中编译。检查Embed & Sign设置
进入项目Target的General标签,找到Frameworks, Libraries, and Embedded Content区域,确认PKHUD.framework的状态是Embed & Sign,避免因框架未正确嵌入导致运行时版本不匹配。
内容的提问来源于stack exchange,提问作者HunTerX

