Что наследует!:search_paths делать?
После просмотра собственного примера CocoaPods (из https://guides.cocoapods.org/syntax/podfile.html)
# Note: There are no targets called "Shows" in any of this workspace's Xcode projects
abstract_target 'Shows' do
pod 'ShowsKit'
# The target ShowsiOS has its own copy of ShowsKit (inherited) + ShowWebAuth (added here)
target 'ShowsiOS' do
pod 'ShowWebAuth'
end
# The target ShowsTV has its own copy of ShowsKit (inherited) + ShowTVAuth (added here)
target 'ShowsTV' do
pod 'ShowTVAuth'
end
# Our tests target has its own copy of
# our testing frameworks, and has access
# to ShowsKit as well because it is
# a child of the abstract target 'Shows'
target 'ShowsTests' do
inherit! :search_paths
pod 'Specta'
pod 'Expecta'
end
end
Я не понимаю почему inherit! :search_paths
является необходимым? Все 3 цели, ShowsiOS
, ShowsTV
а также ShowsTests
иметь доступ к ShowsKit
от их родительской цели.
Конкретный пример для inherit!
(из https://guides.cocoapods.org/syntax/podfile.html) не добавляет ясности
target 'App' do
target 'AppTests' do
inherit! :search_paths
end
end
Можете ли вы помочь мне понять, что inherit! :search_paths
для?
1 ответ
Цель позади inherit!
Согласно https://guides.cocoapods.org/syntax/podfile.html (что, я бы согласился, не очень понятно), заключается в предоставлении одного из 3 доступных режимов:
:complete
Цель наследует все поведение от родителя.:none
Цель не наследует ни одно из действий от родителя.:search_paths
Цель наследует пути поиска только родителя.
В примере этого вопроса это :search_paths
режим, который выражается. Три разных режима играют разные роли при тестировании проекта Pod.
Вот дополнительная ссылка, имеющая отношение к Путям поиска Структуры в XCode, которые помогли прояснить некоторую путаницу для меня.
Цели, которые хотят знать о модулях для цели, но не нуждаются в связывании (например, цели тестирования), могут определить, что они inherit
стручки через их search paths
inherit! :search_paths
что означает "не связывайте сюда стручки, но дайте этой цели знать, что они существуют".
Узнайте больше здесь