无法导入SWXMLHash模块问题求助(Xcode 9.3环境)
我之前也碰到过类似的模块找不到的问题,结合Xcode 9.3的特性和CocoaPods的常见坑,给你整理了几个靠谱的解决步骤:
确认CocoaPods依赖安装正确
先打开终端,进入项目根目录,依次执行以下命令:pod repo update pod deintegrate pod install同时检查你的
Podfile里是否明确引入了SWXMLHash,比如:platform :ios, '11.3' # Xcode 9.3对应的最低iOS版本建议设为11.3 target 'YourProjectName' do use_frameworks! pod 'SWXMLHash' end执行完后一定要打开**
.xcworkspace文件**,不要打开.xcodeproj。确保Playground的位置正确
Playground必须和你的工作区关联,不能放在项目目录外面。你可以直接在Xcode的工作区中右键项目Group,选择New File...创建Playground,或者把已有的Playground拖入工作区的Group中,这样它才能访问到CocoaPods安装的模块。检查项目Build Settings配置
打开项目Target的Build Settings,搜索以下选项:Framework Search Paths:确保包含$(inherited)和${PODS_ROOT}/SWXMLHash/Sources,这两个路径能让Xcode找到SWXMLHash的源码。Allow Non-modular Includes In Framework Modules:设置为YES,这个选项能解决一些模块导入的兼容性问题。
清理缓存并重启Xcode
依次执行:- 按下
Cmd + Shift + K清理项目构建缓存 - 按下
Cmd + Option + Shift + K清理Derived Data - 完全退出Xcode(包括后台进程),等待几秒后重新打开工作区
- 按下
验证Playground的目标平台
点击Playground文件,在右侧Inspector面板中,确认Platform设置的iOS版本和你Podfile里指定的platform :ios, 'xx.x'一致,版本过低会导致模块无法兼容。手动检查SWXMLHash模块文件
打开项目目录下的Pods/SWXMLHash/Sources文件夹,确认里面存在SWXMLHash.swift和module.modulemap文件。如果缺失,说明Pod安装不完整,重新执行pod deintegrate && pod install即可。
内容的提问来源于stack exchange,提问作者Allen

