为通用iOS设备创建归档时出现SDWebImage错误求助
针对Xcode Archive时SDWebImage嵌入错误的解决方案
我之前在Xcode 9.x版本打包时也碰到过类似的Pod嵌入错误,结合你给出的环境信息(Xcode9.3 + SDWebImage4.2.3),给你几个亲测有效的解决思路:
清理Pod缓存并重新安装
有时候Pod的安装残留或缓存会导致Archive阶段的脚本执行异常,完全清理后重新安装能解决大部分这类问题:- 先关闭Xcode
- 打开终端,进入你的项目目录,依次执行以下命令:
pod deintegrate pod clean rm -rf Podfile.lock pod install - 重新打开项目,尝试Archive
检查Embed Pods Frameworks脚本配置
进入项目Target的Build Settings页面,搜索Embed Pods Frameworks相关项:- 确保
Run script only when installing选项未勾选(这个选项会让Archive时跳过必要的框架嵌入步骤) - 验证脚本路径是否正确,默认路径应该是
"${PODS_ROOT}/Target Support Files/Pods-<你的Target名称>/Pods-<你的Target名称>-frameworks.sh"
- 确保
验证SDWebImage版本兼容性
Xcode9.3对部分Pod版本可能存在兼容小问题,你使用的4.2.3本身是稳定版本,但可以尝试锁定到更适配的小版本:
在Podfile里修改为:pod 'SDWebImage', '~> 4.2.0'然后重新执行
pod install,再尝试Archive清理Xcode缓存并重启
- 执行Xcode的
Product -> Clean Build Folder(快捷键:Shift+Command+K) - 手动清理DerivedData缓存,终端执行:
rm -rf ~/Library/Developer/Xcode/DerivedData - 重启Xcode后再尝试Archive
- 执行Xcode的
检查项目签名配置
签名配置异常也可能间接导致Embed阶段出错:- 进入Target的
General -> Signing页面,确保Automatically manage signing已勾选,且团队选择正确 - 可以尝试先切换到手动签名,再切回自动签名,重置签名配置
- 进入Target的
内容的提问来源于stack exchange,提问作者user9211159
相关产品推荐
相关产品推荐

