當在主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