我正在尝试将现有的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,一切正常。虽然这感觉错误。
答案 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