我一直在阅读有关错误的所有问题:
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)的干净安装,我试图创建一个新项目,我已经尝试了所有提出的解决方案,没有任何运气,所以我必须打开一个问题,希望有人可以帮助我。
问候。
答案 0 :(得分:39)
在重新安装整个系统并且找不到解决方案之后,我发现CocoaPods正常运行所必需的一些构建阶段缺失了。
此问题的解决方案将用于后续步骤:
sudo gem install cocoapods-deintegrate
安装该工具)。 cocoapods-deintegrate on Github
修改您的Podfile:
您应该使用link_with 'ProjectName'
定义目标链接。
您应该定义广告连播的目标:target 'ProjectName' do
[此处播放] end
。
使用pod install
执行此操作后,转到XCode并检查以下设置:
进入项目设置,在"配置"检查在Debug和Release中你是否有一个名为Pods-ProjectName.[debug|release]
的配置集
进入你的目标,在"构建阶段"您应该有三个应该命名的新阶段:Check Pods Manifest
,Embed Pods Frameworks
和Copy Pods Resources
。
制作一个干净的,然后构建,然后运行到您的设备。
那就是它。
答案 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)
我必须解决两个问题:
转到每个目标,然后Build Phases
然后Link Binary With Libraries
并选择Pods.framework
。将其设置为Optional
。
Cocoapods没有为我的第二个目标创建所需的运行脚本。我的第一个目标是所有脚本。第二个没有。所以我将所有丢失的运行脚本从第一个目标复制到第二个目标。你需要点击小" +"在左上角签名,添加运行脚本并粘贴其他目标的脚本。我已为Check Pods Manifest.lock
,Copy Pods Resources
和Embed Pods Frameworks
完成了此操作。
然后它确实在设备上运行。最后。
答案 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
我的项目中出现了同样的错误。
答案 6 :(得分:0)
最简单的方法是在Build步骤中确保Protobuf.framework是目标方案中的依赖项。
这告诉Xcode在每次构建目标时编译您的pod安装/更新创建的Protobuf.framework。