Cocoapods podfile 目标仅向测试添加框架
Posted
技术标签:
【中文标题】Cocoapods podfile 目标仅向测试添加框架【英文标题】:Cocoapods podfile target adding frameworks to tests only 【发布时间】:2016-12-07 22:31:41 【问题描述】:我正在尝试修改我的 podfile 以在测试目标中包含用于网络测试的 pod。这是我的 podfile 的样子:
target 'BPD-mobile' do
# Used to simplify reads/writes to coredata
pod 'MagicalRecord', '~> 2.3.0' #obj-c
pod 'MFSideMenu', '~> 0.5.5' #obj-c
pod 'UIDevice-Hardware', '~> 0.1.7' #obj-c
pod 'Flurry-ios-SDK', '~> 7.1.1' #obj-c
pod 'AKNumericFormatter', '~> 0.0.2' #obj-c
pod 'JSBadgeView', '~> 1.3.2' #obj-c
pod 'RETableViewManager', '~> 1.6' #obj-c
pod 'RNBlurModalView', '~> 0.1.0' #obj-c
pod 'APLKeyboardControls', '~> 0.1.3' #obj-c
pod 'MBProgressHUD', '~> 0.9.1' #obj-c
pod 'RBStoryboardLink', '~> 0.1.4' #obj-c
pod 'DTCoreText', '~> 1.6.16' #obj-c
# This pod is used for all networking requests
pod 'AFNetworking', '~> 3.1.0' #obj-c
pod 'MTMigration', '~> 0.0.5' #obj-c
pod 'Harpy', '~> 3.3.10' #obj-c
pod 'SDWebImage', '~> 3.7.3' #obj-c
pod 'ELCImagePickerController', '~> 0.2.0' #obj-c
pod 'UAAppReviewManager', '~> 0.2.6' #obj-c
pod 'DZNEmptyDataSet', '~> 1.7.2' #obj-c
# Used to report crashes to github and open issues for them
pod 'Fabric'#, '~> 1.6.4' #obj-c
pod 'Crashlytics'#, '~> 3.8.2' #obj-c
pod 'DeepLinkKit', '~> 1.1.0' #obj-c
# User for UI Layout and additional widgets
pod 'Eureka', '~> 2.0.0-beta.1' #swift 3.0
# Adds pull screen down for callback functionality, used to
# sync with server
pod 'PullToRefreshCoreText', :git => 'https://github.com/BigPurpleDot/PullToRefreshCoreText' #obj-c
# Pods to only be used for this target
target "BPD-mobile Tests" do
# This pod is used to hijack http methods and respond with
# pre recorded information
pod 'OHHTTPStubs', '~> 5.2.3'
# This pod is used to record http response data for reuse
pod 'SWHttpTrafficRecorder', '~> 1.0.2'
end
end
请注意,我将测试目标嵌套在 BPD-mobile 目标中。当我尝试编译它时,它说找不到“Pods_BPD_mobile_Tests”框架。我查看了项目中的 pods 文件夹,它们是这样的:
'Pods-BPD-mobile',
'Pods-BPD-mobile-BPD-mobile 测试'
“Pods_BPD_mobile 测试”窗格为红色。我假设我需要以某种方式构建 podfile,以便测试框架输出到“Pods_BPD_mobile Tests”,或者我必须更改一些设置,以便它在新路径下查找测试框架。我必须更改哪些设置/我的 podfile 应如何查找要构建的项目?
编辑:
问题似乎是目标名称中有空格:
https://github.com/CocoaPods/CocoaPods/issues/3754
我不太明白解决方案,谁能详细说明?
【问题讨论】:
【参考方案1】:好的,所以这与我的配置无关,是 cocoapods 错误。因为我的目标名称中有一个空格,所以我不得不手动编辑为测试目标和主目标运行的脚本,并在 "$1" 周围添加单引号,将其变成:'"$1"' 根据这个 github 问题:
https://github.com/CocoaPods/CocoaPods/issues/3754
【讨论】:
以上是关于Cocoapods podfile 目标仅向测试添加框架的主要内容,如果未能解决你的问题,请参考以下文章
CocoaPods 'pod lib create' 不生成 Podfile