删除FirebaseInstanceId引用后构建报ld: -framework not found错误
问题背景
用户删除移除Pod后残留的FirebaseInstanceId引用,操作路径为:Targets > Build Settings > Linker Flags > 分别进入Debug和Release配置 > 双击右侧显示-ObjC的区域 > 选中FirebaseInstanceID后点击底部减号完成删除。操作完成后构建项目出现如下报错:
ld: -framework not found
clang: error: linker command failed with exit code 1 (use -v to see invocation)
修复步骤
- 清空Xcode缓存:点击Xcode顶部菜单栏
File>Workspace Settings(单项目场景选择Project Settings),点击DerivedData路径旁的箭头打开缓存文件夹,删除对应项目的缓存目录后重启Xcode,再次尝试构建。 - 检查框架搜索路径配置:进入
Targets>Build Settings,搜索Framework Search Paths,逐一检查Debug、Release以及所有自定义编译配置下的条目,删除所有和FirebaseInstanceID相关的路径。 - 重新安装Pod依赖:打开终端进入项目根目录,依次执行以下命令:
执行完成后务必打开后缀为pod deintegrate pod install.xcworkspace的文件进行项目构建,不要打开.xcodeproj文件。 - 二次检查链接标记残留:回到
Targets>Build Settings>Other Linker Flags,确认所有编译配置下不存在-framework FirebaseInstanceID相关条目,有残留则全部删除。 - 检查编译阶段配置:进入
Targets>Build Phases>Link Binary With Libraries,如果列表中存在FirebaseInstanceID.framework条目,选中后点击减号移除即可。
如果执行完以上步骤仍然存在报错,可以在Build Settings中搜索Other C Flags和Other Swift Flags,确认没有FirebaseInstanceID相关的残留配置。
内容的提问来源于stack exchange,提问作者Lance Samaria
相关产品推荐
相关产品推荐

