使用Carthage引入FBSDK组件后运行报错Library not loaded: @rpath/FBAEMKit
问题原因
新版Facebook SDK拆分出了多个基础依赖组件,FBSDKCoreKit 依赖 FBAEMKit、FBSDKCoreKit_Basics 两个子库,你仅引入了上层的两个SDK,未将依赖的子库同步嵌入到项目中,因此触发运行时动态库加载失败。
解决步骤
- 打开Carthage生成的
Carthage/Build/iOS目录,找到FBAEMKit.framework和FBSDKCoreKit_Basics.framework两个文件 - 将这两个framework拖入你的项目,勾选 Copy items if needed 选项
- 进入对应target的
通用>框架、库和嵌入式内容栏目,将这两个新增的framework的嵌入选项设置为 Embed & Sign - 清空Xcode DerivedData缓存后重新编译运行即可
额外注意事项
如果Carthage目录下找不到上述两个framework,执行 carthage update FBSDKCoreKit FBSDKLoginKit --platform iOS 重新拉取完整的SDK组件即可,新版Facebook SDK的所有拆分组件都会在update时自动生成。
内容的提问来源于stack exchange,提问作者AlexKost
相关产品推荐
相关产品推荐

