dyld:库未加载cocoapods 0.37和Xcode 6.3

时间:2015-05-05 12:36:54

标签: ios xcode6 cocoapods

我一直在阅读有关错误的所有问题:

dyld: Library not loaded: @rpath/Bolts.framework/Bolts Referenced from: /private/var/mobile/Containers/Bundle/Application/1542F906-CCE1-4181-AC7C-B5E3EE50E7D7/eBikeMotion.app/eBikeMotion Reason: no suitable image found. Did find:

这使我的应用程序无法在真实设备中运行(但它在模拟器中运行时没有任何问题。 直到某一点我认为这是我正在安装的框架的一个问题,但在手动安装之后,抛出错误的原始版本,Alamofire和下一个抛出错误的框架是按字母顺序排列的下一个框架(螺栓,如你可以在代码片段中看到) 所以我得出的结论确实是产生这些错误的CocoaPods。我已经获得了最新版本(0.37)的干净安装,我试图创建一个新项目,我已经尝试了所有提出的解决方案,没有任何运气,所以我必须打开一个问题,希望有人可以帮助我。

问候。

7 个答案:

答案 0 :(得分:39)

在重新安装整个系统并且找不到解决方案之后,我发现CocoaPods正常运行所必需的一些构建阶段缺失了。

此问题的解决方案将用于后续步骤:

  1. 解散cocoapods项目(您可以使用sudo gem install cocoapods-deintegrate安装该工具)。
  2. cocoapods-deintegrate on Github

    1. 修改您的Podfile:

      您应该使用link_with 'ProjectName'定义目标链接。

      您应该定义广告连播的目标:target 'ProjectName' do [此处播放] end

    2. 使用pod install

    3. 进行安装
    4. 执行此操作后,转到XCode并检查以下设置:

      进入项目设置,在"配置"检查在Debug和Release中你是否有一个名为Pods-ProjectName.[debug|release]的配置集

      进入你的目标,在"构建阶段"您应该有三个应该命名的新阶段:Check Pods ManifestEmbed Pods FrameworksCopy Pods Resources

    5. 制作一个干净的,然后构建,然后运行到您的设备。

    6. 那就是它。

答案 1 :(得分:24)

在我的情况下,我按照@Jorge的上述回答,但它没有解决问题。确切的错误有点不同,因为丢失的文件是@rpath Pods.framework/Pods。我终于在CocoaPods问题#3586:

的帮助下解决了这个问题

转到目标>一般>链接的框架和库部分 将Pods.framework和Pods_target.framework都设置为Optional

仍然试图弄明白为什么......这个答案有一些信息:what-does-it-mean-to-weak-link-a-framework

答案 2 :(得分:11)

我必须解决两个问题:

  1. 转到每个目标,然后Build Phases然后Link Binary With Libraries并选择Pods.framework。将其设置为Optional

  2. Cocoapods没有为我的第二个目标创建所需的运行脚本。我的第一个目标是所有脚本。第二个没有。所以我将所有丢失的运行脚本从第一个目标复制到第二个目标。你需要点击小" +"在左上角签名,添加运行脚本并粘贴其他目标的脚本。我已为Check Pods Manifest.lockCopy Pods ResourcesEmbed Pods Frameworks完成了此操作。

  3. 然后它确实在设备上运行。最后。

答案 3 :(得分:2)

将问题添加到WatchKit Extension时遇到同样的问题。将主要目标与Watch应用程序链接起来并不是最佳选择。发现cocoapod 0.37.2尚未在构建阶段添加“嵌入Pods框架”脚本。

脚本: "${SRCROOT}/Pods/Target Support Files/Pods-ExtensionName/Pods-ExtensionName-frameworks.sh"

答案 4 :(得分:0)

为了让cocoapods生成构建阶段,请检查Pods Manifest,Embed Pods Frameworks和Copy Pods资源:

1 - 转到构建阶段并删除所有自定义修改。我不得不删除Link Binary With Libraries阶段下的所有内容。

2 - 做一个pod解体(或者只是自己删除文件)

3 - 运行新的pod安装

这对我有用。如果没有第一步,它就永远不会。

答案 5 :(得分:0)

要解决此问题,您需要在构建阶段为链接二进制文件更改状态,以获取pod_projectName.framework和Bolt.framework

我的项目中出现了同样的错误。

get error in CommonCrypto.framework

Resolved error by changing Required to Optional

答案 6 :(得分:0)

最简单的方法是在Build步骤中确保Protobuf.framework是目标方案中的依赖项。

这告诉Xcode在每次构建目标时编译您的pod安装/更新创建的Protobuf.framework。