как разделить некоторые стручки в двух target by podfile
xcodeproj 'Demo.xcodeproj'
platform :ios, "6.0"
target "Demo" do
pod 'Demo-A', '3.1.1'
pod 'Demo-B', '1.0'
pod 'Demo-C', '~> 1.9.0'
pod 'Demo-D', '~> 1.1'
pod 'AA', '0.0.1'
pod 'BB', '0.0.1'
pod 'CC', '0.0.1'
pod 'DD', '0.0.1'
pod 'EE', '0.0.1'
pod 'FF', '0.0.1'
pod 'GG', '0.0.1'
end
target "DemoTests" do
pod 'DemoTests-X', '3.1.1'
pod 'DemoTests-Y', '0.4.0'
pod 'DemoTests-Z', '4.1.1'
pod 'AA', '0.0.1'
pod 'BB', '0.0.1'
pod 'CC', '0.0.1'
pod 'DD', '0.0.1'
pod 'EE', '0.0.1'
pod 'FF', '0.0.1'
pod 'GG', '0.0.1'
end
target "DemoWidget" do
pod 'DemoWidget-1', '3.1.1'
pod 'DemoWidget-2', '0.4.0'
pod 'DemoWidget-3', '4.1.1'
end
Это мой подфайл . как вы можете видеть.
pod 'AA', '0.0.1'
pod 'BB', '0.0.1'
pod 'CC', '0.0.1'
pod 'DD', '0.0.1'
pod 'EE', '0.0.1'
pod 'FF', '0.0.1'
pod 'GG', '0.0.1'
Этот код появляется дважды. DemoTests-это тестовая цель для демо-цели.пока я пишу тестовый файл и импровизирую исходный файл в демо target.it будет зависеть какой-то файл в стручках,который в Demo target, но не в DemoTests target. поэтому я пишу этот код Подфайла дважды для зависимости. но это же уродство! мои коллеги и я должны поддерживать два набора такого кода.и мой Подфайл раздуется! я хочу сохранить этот код один раз! как это сделать~ Я люблю кокосовых стручков! я верю, что это решит мою проблему ~ ожидание ответа u~~~~
2 ответа:
Вы можете использовать его таким образом, чтобы уменьшить длину вашего подфайла, а также иметь возможность поддерживать код один раз!!!
xcodeproj 'Demo.xcodeproj' platform :ios, "6.0" def common_pods_for_target pod 'AA', '0.0.1' pod 'BB', '0.0.1' pod 'CC', '0.0.1' pod 'DD', '0.0.1' pod 'EE', '0.0.1' pod 'FF', '0.0.1' pod 'GG', '0.0.1' end target "Demo" do pod 'Demo-A', '3.1.1' pod 'Demo-B', '1.0' pod 'Demo-C', '~> 1.9.0' pod 'Demo-D', '~> 1.1' common_pods_for_target end target "DemoTests" do pod 'DemoTests-X', '3.1.1' pod 'DemoTests-Y', '0.4.0' pod 'DemoTests-Z', '4.1.1' common_pods_for_target end target "DemoWidget" do pod 'DemoWidget-1', '3.1.1' pod 'DemoWidget-2', '0.4.0' pod 'DemoWidget-3', '4.1.1' end
Просто определите все ваши общие модули в переменной и используйте ее в целях, которые вы хотите.
CocoaPods now рекомендует использовать
abstract_target
Если вы хотите, чтобы несколько целей разделяли одни и те же капсулы. Обратите внимание, как реальные цели вложены в новую абстрактную цель.# There are no targets called "Shows" in any Xcode projects abstract_target 'Shows' do pod 'ShowsKit' pod 'Fabric' # Has its own copy of ShowsKit + ShowWebAuth target 'ShowsiOS' do pod 'ShowWebAuth' end # Has its own copy of ShowsKit + ShowTVAuth target 'ShowsTV' do pod 'ShowTVAuth' end end