Xcode编译报错:未找到arm64架构的FBSDKShareKit框架
你已经完成了Firebase Auth的配置,现在卡在FBSDKShareKit的集成上,我来给你梳理几个容易忽略的关键点,帮你搞定这个报错:
1. 先确认Carthage是否真的拉取到了完整的FBSDKShareKit
- 打开项目根目录下的
Carthage/Build/iOS文件夹,检查是否存在FBSDKShareKit.framework - 如果找不到,重新执行指定框架的更新命令:
carthage update FBSDKShareKit --platform iOS(比全量更新更快) - 重点注意:确保FBSDKShareKit的版本和你已集成的FBSDKCoreKit、FBSDKLoginKit完全一致,版本不匹配会导致框架无法被正常识别
2. 检查框架的链接与嵌入配置(Carthage动态框架必做)
这是最容易漏掉的步骤:
- 打开Xcode项目,进入Target > General标签页
- 在Linked Frameworks and Libraries里,点击
+号,从Carthage/Build/iOS路径下添加FBSDKShareKit.framework - 同样在Embedded Binaries中,重复上述操作添加该框架(动态框架必须嵌入才能在运行时被系统找到)
3. 验证Framework Search Paths的配置
- 进入Target > Build Settings,搜索
Framework Search Paths - 确认已添加
$(SRCROOT)/Carthage/Build/iOS,并且设置为Recursive(递归搜索子路径) - 如果项目有多个Target,要确保每个用到该框架的Target都配置了这个路径
4. 清理Xcode缓存,排除旧缓存干扰
有时候旧缓存会导致框架识别异常:
- 按下
Command + Shift + K清理项目编译缓存 - 前往
~/Library/Developer/Xcode/DerivedData,删除当前项目对应的Derived Data文件夹 - 重启Xcode后重新编译项目
5. 最后验证导入是否正常
在需要使用FBSDKShareKit的文件顶部添加:
import FBSDKShareKit
尝试编译,如果还是报错,检查是否有拼写错误,或者直接删除Carthage文件夹后执行carthage bootstrap --platform iOS全量重新拉取依赖
内容的提问来源于stack exchange,提问作者Rémy Seba
相关产品推荐
相关产品推荐

