无法将豆荚链接到葫芦目标
我们在葫芦目标中集成CocoaPods时遇到了一些问题。无法将豆荚链接到葫芦目标
目前,我们有4个目标:
应用:正常应用目标
AppTests:单元测试目标
的App-葫芦:蠡目标
应用程序的API存根:特殊目标
我们希望分享App,App-Calabash和App之间的所有Pod -API存根。 另外,AppTests和App-Calabash必须包含其他库。
这是我们的Podfile:
source 'https://github.com/CocoaPods/Specs.git'
platform :ios, '7.0'
link_with 'App', 'App-Calabash', 'App-API-Stubs'
inhibit_all_warnings!
pod 'MagicalRecord', '~> 2.2'
pod 'AFNetworking', '~> 2.3.1'
pod 'ObjectiveSugar', '~> 1.1.0'
pod 'KZPropertyMapper', '~> 2.5.0'
pod 'FXBlurView', '~> 1.6.2'
pod 'OHHTTPStubs', '~> 3.1.5'
pod 'Google-Maps-iOS-SDK', '~> 1.8.1'
pod 'KVOController', '~> 1.0.1'
pod 'Braintree', '~> 3.3.1'
pod 'TTTAttributedLabel', '~> 1.10.1'
pod 'ObjectiveLuhn', '~> 1.0.0'
pod 'CrashlyticsFramework', '~> 2.2.1'
target 'App-Calabash', :exclusive => true do
pod 'Calabash', '~> 0.9.169'
end
target 'AppTests', :exclusive => true do
pod 'Specta', '~> 0.2.1'
pod 'Expecta', '~> 0.3.0'
pod 'OCMock', '~> 3.1.1'
end
所有目标构建和运行得很好,但在葫芦之一。
它抱怨它无法找到Crashlytics/Crashlytics.h
。但是,即使我们暂时避免使用Crashlytics,它则抱怨在链接过程中的葫芦库:
ld: warning: directory not found for option '-L/Users/Marco/ios/App/Pods/build/Debug-iphoneos'
ld: file not found: -lPods-App-Calabash-Calabash
clang: error: linker command failed with exit code 1 (use -v to see invocation)
所以它似乎什么都没了可怕的错误荚整合到特定的目标。
我很确定我错过了一些简单的东西,但我无法弄清楚。
任何帮助真的很感激。谢谢!
早上给我找了个解决方案。我已经在这里找到了答案http://flexpletives.blogspot.com.es/2014/02/ios7-tdd-w-ocmock-and-xcode5.html
转到你的葫芦目标 - >构建设置 - >其他连接标志
删除“-force_load” 添加“-all_load”
这并没有解决我的问题 – 2014-10-10 15:52:51
同样的事情,我甚至没有“-force_load”选项。 – AsTeR 2014-10-30 16:57:54
通过指定专属的应用程序 - 在你的Podfile中指定目标 - 你说你只有想要链接葫芦框架,而不是其他的,这就是为什么Crashlytics不会被发现。
target 'App-Calabash', :exclusive => true do
pod 'Calabash', '~> 0.9.169'
end
我今天设置葫芦起来使用的CocoaPods这里就是我得到的东西的工作:
1)添加一个新的配置到您的项目名为葫芦或类似(从项目设置信息面板) 。
2)使用以下行更新您的Podfile:
pod 'Calabash', :configurations => ['Calabash']
3)运行命令行pod update
。
4.)在Pods项目下,在Targets Support Files中,您应该找到一个名为Pods.calabash.xcconfig的文件。将此文件拖放到您的主项目中的Pods组(与Pods.debug.xcconfig和Pods.release.xcconfig一起)中(但不要选择'如果需要复制')。
5.)在您的主项目中,导航到项目设置的信息面板,并展开您在步骤1中创建的葫芦配置。您的主项目的目标配置将设置为Pods.debug或Pods.release。将其设置为Pods.calabash。
6.)创建一个名为Calabash的新方案并对其进行编辑。选择“运行”阶段,然后在“信息”窗格中从下拉列表中选择Calabash生成配置。
7.)为了运行葫芦,选择新创建的葫芦方案并运行。
希望这些信息对您有所帮助。
以下答案帮助我解决了几乎与此相同的问题。
https://stackoverflow.com/a/27039447/1004227
总之,我不得不把配置设置为None
为葫芦计划的所有相关指标。然后运行pod install
并让Cocoapods将配置重置为Pods.calabash
配置。
如果您发现解决方案只是回来,我有一些相关的问题 – AsTeR 2014-10-30 16:58:18
我个人的问题是与我没有注意到以下消息,'[!]从现在开始使用'的经验。 xcworkspace',它只在第一个“pod安装”后出现。 – AsTeR 2014-10-30 17:06:32