【问题标题】:Why it shows "ld: framework not found Bolts"为什么它显示“ld: framework not found Bolts”
【发布时间】:2016-12-10 02:42:36
【问题描述】:

安装 facebook sdk 后,当我构建项目时,它显示:

ld: warning: directory not found for option '-F/Users/liyuanliu/Library/Developer/Xcode/DerivedData/c5-dsovqtraubbdgxbqrmiexjmlysxq/Build/Products/Debug-iphonesimulator/Bolts'
ld: warning: directory not found for option '-F/Users/liyuanliu/Library/Developer/Xcode/DerivedData/c5-dsovqtraubbdgxbqrmiexjmlysxq/Build/Products/Debug-iphonesimulator/FBSDKCoreKit'
ld: warning: directory not found for option '-F/Users/liyuanliu/Library/Developer/Xcode/DerivedData/c5-dsovqtraubbdgxbqrmiexjmlysxq/Build/Products/Debug-iphonesimulator/FBSDKLoginKit'
ld: warning: directory not found for option '-F/Users/liyuanliu/Library/Developer/Xcode/DerivedData/c5-dsovqtraubbdgxbqrmiexjmlysxq/Build/Products/Debug-iphonesimulator/FBSDKShareKit'
ld: framework not found Bolts
clang: error: linker command failed with exit code 1 (use -v to see invocation)

但是当我安装 facebook 和 bolts 时,它显示我安装成功:

pod install
Analyzing dependencies
Downloading dependencies
Using Bolts (1.8.4)
Using FBSDKCoreKit (4.14.0)
Using FBSDKLoginKit (4.14.0)
Using FBSDKShareKit (4.14.0)
Using Firebase (3.4.0)
Using FirebaseAnalytics (3.3.0)
Using FirebaseAppIndexing (1.0.4)
Using FirebaseAuth (3.0.4)

下面是我的构建阶段图像:

下面找不到螺栓框架图片

我找不到FBXXXX.framework

添加框架后,它仍然退出:

【问题讨论】:

  • 你应该回答你的问题而不是编辑它。另外请将标题更改为类似以下内容的内容:未找到螺栓框架 [Xcode 7] 或其他内容以使其对未来的读者更有帮助
  • 如果有人使用 Swift 5 和最新的 FB SDK(Swift 版本 5.x.x 中的 FB SDK),请查看这个答案:stackoverflow.com/a/56722855/4260691

标签: ios facebook cocoapods bolts-framework


【解决方案1】:

转到Project->TARGETS-Build Phases->Link Binary With Libraries 在此处附加您的Bolts 库。

现在点击 + 按钮 ->

现在点击添加其他..按钮->在您的计算机上找到 FBSDK 框架并附加它。编译并运行您的应用程序。

【讨论】:

  • 按 Command & Space 按钮,在 mac 上打开搜索栏,输入 FBSDK 等,您将获得 FB 框架的位置。否则,您可以在此处下载适用于 iOS 的 FB SDK - developers.facebook.com/docs/ios
  • 我刚刚找到了另一种解决方法,请参阅我的更新。但仍然感谢您的建议。
【解决方案2】:

最后,我找到了解决这个问题的方法。在项目->目标->构建设置->框架搜索路径中,已经存在很多路径。我下载了 4 个框架(bolts.framework 和 3 个其他 FBXXXX.framework)并将它们全部复制到这些现有路径之一中。

【讨论】:

    【解决方案3】:

    问题是https://developers.facebook.com/docs/ios/getting-started 的建议不是Deselect Copy items into destination group's folder. 不适用于Xcode 8.0,最流行的atm。拖动框架会将它们移动到新的Frameworks 文件夹。

    所以请按照教程进行操作,但保持抽动Copy items into destination group's folder

    【讨论】:

      【解决方案4】:

      我通过在关闭 xcode 时删除 ~/Library/Developer/Xcode/DerivedData/xxxx 解决了这个问题,然后重新打开 xcode 并进行了干净 + 构建。当 xcode 为项目重建派生数据时,一切都已修复。

      【讨论】:

        【解决方案5】:

        如果他们正在使用 pod,他们终于得到了解决方案

        pod 'FBSDKLoginKit', '4.43.0'
        
        
        pod 'FBSDKCoreKit', '4.43.0'
        

        【讨论】:

          【解决方案6】:

          请尝试以下步骤

          1. 从 Podfile 目录在终端中运行以下命令

            pod deintegrate

            pod install

          2. 从 Xcode 清理派生数据文件夹
          3. 执行全新的干净构建

          【讨论】:

            【解决方案7】:

            代表帖子作者回答

            最后,我找到了解决这个问题的方法。在project->targets->build settings->framework 搜索路径中,已经存在很多路径。我下载了 4 个框架(bolts.framework 和其他 3 个FBXXXX.framework)并将它们全部复制到这些现有路径之一中。

            【讨论】:

              猜你喜欢
              • 1970-01-01
              • 2018-04-03
              • 2018-03-15
              • 1970-01-01
              • 2012-12-06
              • 1970-01-01
              • 2016-05-21
              • 1970-01-01
              • 2020-08-02
              相关资源
              最近更新 更多