dyld:没有加载cocoapods 0.37和Xcode 6.3的库
我一直在阅读有关错误的所有问题:
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和下一个框架抛出的错误是下一个按字母顺序(Bolts,你可以在代码片段中看到)所以我得出的结论是的确是CocoaPods这是产生这些错误。有一个干净的安装得到了最后一个版本(0.37),Iv'e试图创build一个新的项目,我已经尝试了所有build议的解决scheme,没有任何运气,所以我不得不开放一个问题,希望有人可以帮我。
问候。
重新安装整个系统后,没有find解决scheme,我发现一些强制CocoaPods正常运行的构build阶段丢失。
这个问题的解决scheme是为了接下来的步骤:
- 解锁cocoapods项目(可以使用
sudo gem install cocoapods-deintegrate
安装工具)。
cocoapods在Github上分解
-
修改您的Podfile:
你应该用
link_with 'ProjectName'
来定义你的目标链接。你应该为你的豆荚定义目标:
target 'ProjectName' do
[pods here]end
。 -
用
pod install
-
完成后,转到XCode并检查以下设置:
进入项目设置,在“configuration”下,检查Debug和Release中是否有一个名为
Pods-ProjectName.[debug|release]
的configuration集Pods-ProjectName.[debug|release]
进入您的目标,在“构build阶段”下,您应该有三个应该命名的新阶段:
Check Pods Manifest
,Embed Pods Frameworks
和Copy Pods Resources
。 -
做一个干净的,然后build立,然后运行到您的设备。
而已。
在我的情况下,我遵循@Jorge的上述答案,但没有解决问题。 确切的错误是有点不同,因为缺less的文件是@rpath Pods.framework/Pods
。 我终于在CocoaPods#3586的帮助下解决了这个问题:
转到目标>常规>链接框架和库部分将Pods.framework和Pods_target.framework设置为Optional
。
仍然试图弄清楚为什么….这个答案有一些信息: 这是什么意思,以弱链接一个框架
我不得不解决两个问题:
-
转到每个目标,然后
Build Phases
然后Link Binary With Libraries
与Link Binary With Libraries
然后selectPods.framework
。 将其设置为Optional
。 -
Cocoapods没有为我的第二个目标创build所需的运行脚本。 我的第一个目标是所有脚本。 第二不是。 所以我将所有缺less的运行脚本从第一个目标复制到第二个目标。 您需要点击左上angular的小号“+”号,添加一个运行脚本并粘贴另一个目标的脚本。 我已经完成了
Check Pods Manifest.lock
,Copy Pods Resources
和Embed Pods Frameworks
。
然后它在设备上运行。 最后。
同样的问题添加到WatchKit扩展的豆荚。 将主要目标与Watch应用程序链接并不是最好的select。 发现cocoapod 0.37.2没有添加“Embed Pods Frameworks”脚本到构build阶段。
脚本: "${SRCROOT}/Pods/Target Support Files/Pods-ExtensionName/Pods-ExtensionName-frameworks.sh"
为了让cocoapods生成构build阶段“检查脚本清单”,“embedded脚本框架”和“复制脚本”资源:
1 – 转到构build阶段并删除任何自定义修改。 链接二进制库“阶段,我不得不删除一切。
2 – 做一个荚解体(或自己删除文件)
3 – 运行新的吊舱安装
这对我有效。 没有第一步,它从来没有。
要解决这个问题,你需要在pod_projectName.framework和Bolt.framework的构build阶段改变链接二进制库中的状态
我的项目中出现同样的错误。
在CommonCrypto.framework中得到错误
通过将Required更改为Optional来解决错误