iOS应用卸载AdMob SDK后FBLPromises框架找不到问题求助
问题解答
1. 剩余两个Pod是否需要使用frameworks?
Gemini和TTSegmentedControl都是Swift编写的库,不是必须要启用use_frameworks!。它们同时支持静态库和动态框架两种集成方式:
- 如果项目没有其他依赖动态框架的需求,可以注释掉
use_frameworks!,CocoaPods会默认以静态库的方式集成这两个库(Xcode 12及以上版本支持); - 若需要保留动态框架的特性,也可以继续使用
use_frameworks!,这两个库完全兼容。
2. 操作中的问题及修复方案
出现「framework not found FBLPromises」的核心原因是:卸载AdMob SDK后,本地缓存(Pods缓存、Xcode构建缓存)或项目配置中仍残留了FBLPromises的引用(FBLPromises是Google相关库的依赖组件)。你的操作仅移除了Pod声明,但没有清理残留的缓存和配置。
具体修复步骤:
- 彻底清理CocoaPods相关文件
- 删除项目根目录下的
Podfile.lock文件 - 删除项目根目录下的
Pods文件夹 - 打开终端进入项目根目录,执行命令:
pod deintegrate,彻底移除CocoaPods对项目的集成
- 删除项目根目录下的
- 清理Xcode构建缓存
- 关闭Xcode
- 删除DerivedData文件夹(路径一般为
~/Library/Developer/Xcode/DerivedData,也可通过Xcode偏好设置的「Locations」选项找到并删除)
- 重新集成Pods
- 执行
pod install命令,重新安装剩余的两个Pod
- 执行
- 检查并清理项目配置(可选)
- 打开Xcode项目,进入目标的「Build Settings」
- 搜索「Framework Search Paths」,若有包含FBLPromises的路径,删除该条目
- 搜索「Other Linker Flags」,若有
-lFBLPromises之类的标记,移除它
完成以上步骤后,重新编译项目即可解决错误。
内容的提问来源于stack exchange,提问作者user11004336
相关产品推荐
相关产品推荐

