迁移到CocoaPods 1.0.1

时间:2016-06-07 16:12:12

标签: cocoapods

我正在尝试将现有的CocoaPod配置从0.39.0迁移到1.0.1。

我们现有的Podfile看起来像:

platform :ios, '9.0'
use_frameworks!

target 'Tools' do
  pod 'zipzap', '~> 8.0.4'
  pod 'Argo', '~> 2.2.0'
  pod 'Curry', :git => 'https://github.com/thoughtbot/Curry.git', :commit => 'eeb459fac309833288e61e134a4e8fad649e99b0'
end

target 'ToolsTests' do
end

这个已编译,测试运行得很好。 After following the migration guide.我重新组织了Podfile,如此:

platform :ios, '9.0'

target 'Tools' do
  use_frameworks!

  pod 'zipzap', '~> 8.0.4'
  pod 'Argo', '~> 2.2.0'
  pod 'Curry', :git => 'https://github.com/thoughtbot/Curry.git', :commit => 'eeb459fac309833288e61e134a4e8fad649e99b0'

  target 'ToolsTests' do
    inherit! :search_paths
  end
end

这个编译和链接就好了。不幸的是,当测试运行时,它们崩溃了:

2016-06-07 12:04:06.265 xctest[56474:789900] The bundle “ToolsTests” couldn’t be loaded because it is damaged or missing necessary resources. Try reinstalling the bundle.
2016-06-07 12:04:06.299 xctest[56474:789900] (dlopen_preflight($HOME/Library/Developer/Xcode/DerivedData/Tools-dbmncsubtoarlhhcrpchrswefprz/Build/Intermediates/CodeCoverage/Products/Debug-iphonesimulator/ToolsTests.xctest/ToolsTests): Library not loaded: @rpath/Argo.framework/Argo
  Referenced from: $HOME/Library/Developer/Xcode/DerivedData/Tools-dbmncsubtoarlhhcrpchrswefprz/Build/Intermediates/CodeCoverage/Products/Debug-iphonesimulator/ToolsTests.xctest/ToolsTests
  Reason: image not found)
Program ended with exit code: 82

在迁移指南中,它说:

  

我们收到的大部分错误报告都是由于Podfile中存在歧义。它为创建各种CocoaPods设置提供了很大的自由,这些设置可以通过运行实现细节或工作来运行,但是比它们需要的要复杂得多。

这个案例中的其中一个过去是通过实施细节的运气而工作的吗?"?如果不是正确的 Podfile语法是什么?

我应该注意,如果我在pod中复制ToolsTests defs,一切正常。虽然这感觉错误。

1 个答案:

答案 0 :(得分:3)

类似的问题:Cocoapods testing linker error

似乎是人们在升级时遇到的常见问题。您的新Podfile看起来对我来说。

如果你还没有,我会尝试:

清理构建文件夹(在Xcode中 - > Option + Shift + Command + K)

清除派生数据文件夹(rm -rf ~/Library/Developer/Xcode/DerivedData

清除CocoaPods缓存(rm -rf ~/Library/Caches/CocoaPods

再次运行pod install

编辑: 我上面提到的问题现在有一个答案:https://stackoverflow.com/a/37705768/3067051