【问题标题】:ld: library not found for -lBolts using cocoapodsld:找不到使用 cocoapods 的 -lBolts 的库
【发布时间】:2015-12-14 00:08:24
【问题描述】:

大家

我遇到的问题是我无法编译我的应用程序,因为我收到以下错误:

ld: library not found for -lBolts
clang: error: linker command failed with exit code 1 (use -v to see invocation)

我的 XCode 项目配置为使用 cocoapods,这是我的 pod 列表:

pod 'Google/Analytics', '~> 1.0.0'
pod 'AFNetworking', '~> 2.0'
pod 'XCDYouTubeKit', '~> 2.4.0'
pod 'FBSDKCoreKit'
pod 'FBSDKShareKit'
pod 'FBSDKLoginKit'
pod 'Parse'
pod 'ParseUI'
pod 'ParseFacebookUtilsV4'
pod 'ParseTwitterUtils'

这是命令pod install的输出:

Updating local specs repositories
Analyzing dependencies
Downloading dependencies
Installing AFNetworking (2.6.3)
Installing Bolts (1.5.0)
Installing FBSDKCoreKit (4.8.0)
Installing FBSDKLoginKit (4.8.0)
Installing FBSDKShareKit (4.8.0)
Installing Google (1.0.7)
Installing GoogleAnalytics (3.14.0)
Installing GoogleNetworkingUtilities (1.0.0)
Installing GoogleSymbolUtilities (1.0.3)
Installing GoogleUtilities (1.1.0)
Installing Parse (1.10.0)
Installing ParseFacebookUtilsV4 (1.9.1)
Installing ParseTwitterUtils (1.9.1)
Installing ParseUI (1.1.7)
Installing XCDYouTubeKit (2.4.1)
Generating Pods project
Integrating client project
Sending stats
Pod installation complete! There are 10 dependencies from the Podfile and 15 total pods installed.

我尝试过的事情:

  • 清理并重建
  • 退出 xcode,清理并重建
  • 删除所有 pod 并重新安装、清理和重建

【问题讨论】:

标签: ios xcode cocoapods bolts-framework


【解决方案1】:

我有两个问题:

  1. 第一个问题是我正在构建我原来的YourApp.xcodeproj Xcode 项目文件。

    根据react-native

    从现在开始在 Xcode 中打开 YourApp.xcworkspace 而不是 YourApp.xcodeproj

    所以我不得不切换到由 Cocoapods 在 pod init(或任何生成它的任何东西)上生成的新 YourApp.xcworkspace

  2. react-native 项目的 README 没有提到如果你之前按照 4 的步骤将 Facebook SDK 添加到YourApp.xcodeprojFrameworks 文件夹中。将 SDK 添加到 Facebook SDK for iOS - Getting Started 教程的 Xcode 项目 中,然后您应该删除那些引用,因为 Cocoapods 会将 FB SDK 代码拉入 Pods 文件夹,因此您不再需要单独引用 FB SDK。否则,Xcode 会尝试根据 Cocoapods 的设置和指令进行构建,但会发现 FB SDK 的二进制文件“不是dylib”。

    最终,您的Frameworks 文件夹应该有唯一的libPods-YourApp.a 文件。

    清理,然后构建项目。它应该可以工作。

【讨论】:

  • 在更新旧应用程序的黑暗兔子洞之后,出现了这个问题。你的帖子为我节省了很多时间!我希望我能再投票 10 次。
【解决方案2】:

我就是这样解决的:

  • 删除Pods文件夹和Podfile.lock
  • 运行pod install
  • 在 Xcode 的 Pods 项目上,在每个 pod 目标上,将 Build Active Architecture Only 设置为 No
  • 清理并重新构建

【讨论】:

  • 在哪里可以找到Build Active Architecture Only?非常感谢您提供屏幕截图。
  • @Eye - 这是 Xcode 7.3 的屏幕截图:i.imgur.com/7GpNoMA.png。文字描述:它位于 Build Settings > Architectures 下。
【解决方案3】:

我在我的演示应用程序中集成 MFSideMenu 并得到同样的错误。
我的解决方案工作如下

构建阶段 -> 将二进制文件与库链接 -> 添加新的 -> 然后 select 从工作区中选择libXYZ.a(在我的情况下为libMFSideMenu.a)-> 添加它。清理项目并再次构建

【讨论】:

    【解决方案4】:

    按照以下步骤,

    1. 其他链接器标志中删除了 -l"bolts" (Project -> Build Settings -> Linking -> Other Linker Flags)
    2. 有一个干净的构建

    注意:如果您无法轻松找到它,您可以在 Workspace 中搜索,

    【讨论】:

      【解决方案5】:

      在我的情况下,我需要使用以下命令从 Podfile 目录重新安装 pod,

      pod deintegrate
      pod install
      

      清空deriveddata文件夹后再构建

      如果不起作用,请按照答案here

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2015-10-11
        • 2015-12-22
        • 2014-07-27
        • 2015-12-13
        • 2017-05-06
        • 1970-01-01
        • 2017-01-17
        • 2015-01-23
        相关资源
        最近更新 更多