为什么我没用Bolts却收到了与Bolts框架和FacebookSDK有关的错误信息?

41

出现这个错误

framework not found Bolts for architecture x86_64

我严格按照Facebook的指南操作,但我认为链接出现问题的唯一可能是在Framework Search Paths的构建设置中。目前我只是尝试在应用程序中添加Facebook登录按钮,仅仅是为了视觉上确认它正在加载。没有添加任何方法功能,但是在当前状态下甚至无法构建项目。

8个回答

121
  1. 在Xcode中打开项目。
  2. 前往您提取FacebookSDK的位置。如果您使用的是Mac OSX,它应该在Documents/FacebookSDK中。
  3. 获取Bolts.framework文件并将其拖放到Xcode项目的Frameworks文件夹中。

现在应该已经可以构建了。


2
我已经和这个错误斗争了半个小时了...没想到解决起来这么容易...!!! - Sneha
4
好的!为什么他们不在指南中加入这个步骤呢 :( - thanhbinh84
对我没用。我正在使用Pods,但仍然出现错误。 - gowithefloww

7

你需要将Bolts.framework添加到你的项目中


6
截至2019年4月24日,Facebook SDK in Swift仓库内的commit已经移除了Swift SDK中的Bolts。因此,您需要将Bolts添加到您的pod文件中。请注意,如果您使用的是Swift 5,则需要使用Objc中的Bolts,因为目前Swift的Bolts仅支持Swift 4.1。
对于Swift 5,在您的pod文件中:
pod 'Bolts'

回答你的问题,来自Bolts GitHub:

Bolts是一个低级库集合,旨在使开发移动应用程序更容易。Bolts由Parse和Facebook设计,用于我们自己的内部使用。

编辑/更新:

看起来Bolts for Swift现在支持Swift 5。


1
到目前为止,最简单的选项 - Arafin Russell
1
如果你正在将Facebook SDK从4.x.x升级到5.x.x,那么Bolts库排除是完美的解决方案。 - Pelanes

2
在我的情况下,我打开了项目而不是工作区(使用pods)。

打开 .xcworkspace 而不是项目本身对我来说是个解决方案。我正在处理一个使用 React Native 创建的项目。 - btx

2

前往您的项目的构建设置。
查找框架搜索路径。
添加到调试: "$(inherited)"。
对于发布也一样。
重新构建项目。

希望这有所帮助!


0

虽然有点晚,但可能会有所帮助 - 添加Bolts.Framework - 还要记得按照安装过程中显示的警告进行操作enter image description here


0
在终端中运行 "pod update"(如果您没有更新)。 从“其他链接器标志”中删除“Bolts”框架(点击目标->构建设置->其他链接器标志)。

0

你可以直接执行 pod update 命令,然后打开你的 xcworkspace 文件。这个方法对我很有效。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接