当在主APP和unit test的target中都需要使用到某一个库,且这时使用pod进行配置时,如果给两个target都配置了改库,就会有一个Class is implemented in both warning when running unit tests 的警告:
形式如下:
Class AFQueryStringPair is implemented in both
/XXX/DuplicateClassImplementation.app/DuplicateClassImplementation and
/XXX/DuplicateClassImplementationTests.xctest/DuplicateClassImplementationTests.
One of the two will be used. Which one is undefined.
可以修改Podfile避免此问题,主要是让单元测试的target继承主app的search path:
target 'App' do
pod 'GoogleAnalytics' , '~> 3.0'
pod 'GoogleTagManager' , '~> 3.0'
pod 'SDWebImage', '~>3.7'
platform :ios, '8.0'
use_frameworks!
target 'App Unit Tests' do
inherit! :search_paths
end
end
target 'App Enterprise' do
pod 'GoogleAnalytics' , '~> 3.0'
pod 'GoogleTagManager' , '~> 3.0'
pod 'SDWebImage', '~>3.7'
platform :ios, '8.0'
use_frameworks!
end