我们在卡拉巴斯目标中集成CocoaPods存在一些问题。
目前我们有四个目标:
app :普通应用程序目标
AppTests:单元测试目标
应用程序- calabash :calabash目标
App-API-Stubs:特殊目标
我们希望在App、和之间共享所有的Pods。此外,AppTests和AppTests还必须包括其他库。
这是我们的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,它也会在链接期间抱怨Calabash库:
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)因此,将豆荚集成到特定目标中似乎出了很大问题。
我很确定我错过了一些简单的东西,但我想不出来。
任何帮助都是非常感谢的。谢谢!
发布于 2015-06-05 15:05:08
通过在Podfile中指定App目标的独占性,您只想链接Calabash框架,而不是其他框架,这就是Crashlytics找不到的原因。
target 'App-Calabash', :exclusive => true do
pod 'Calabash', '~> 0.9.169'
end今天我用Cocoapods设置了Calabash,下面是我如何工作的方法:
1.)将新配置添加到名为Calabash或类似的项目(来自项目设置的信息面板)。
2.)用以下行更新您的Podfile:
pod 'Calabash', :configurations => ['Calabash']3.)从命令行运行pod update。
4.)在Pods项目下,在目标支持文件中,您应该找到一个名为Pods.calabash.xcconfig的文件。将该文件拖到主项目中的Pods组中,并与Pods.debug.xcconfig和Pods.release.xcconfig一起使用(但不要选择“如果需要时复制”选项)。
5.)在您的主项目中,导航到项目设置的信息面板,展开您在步骤1中创建的Calabash配置。您的主项目的目标配置将设置为Pods.debug或Pods.release。将其设置为Pods.calabash。
6.)创建一个名为Calabash的新方案并对其进行编辑。选择“Run”阶段,并在Info窗格中从下拉列表中选择Calabash配置。
7.)为了运行Calabash,选择新创建的Calabash方案并运行。
希望这些信息能帮上忙。
发布于 2016-05-31 07:27:34
下面的答案帮助我解决了一个与此几乎相同的问题。
https://stackoverflow.com/a/27039447/1004227
简而言之,我必须为卡拉巴斯方案的所有相关目标设置配置为None。然后运行pod install,让Cocoapods将配置重置为Pods.calabash配置。
https://stackoverflow.com/questions/26232612
复制相似问题