我只是获取Cocoapods中link_with
所做的事情。关于此选项的文档非常简短:
Specifies the target(s) in the user’s project that this Pods library should be linked in.
(来自http://guides.cocoapods.org/syntax/podfile.html#link_with)
唯一的例子假设用户没有使用特定于目标的pod ...
link_with 'MyApp'
然后Ooookay。那么在特定于目标的Pods库中使用它的预期行为是什么?为什么Pods库与特定目标相关联,但又有可能与其他目标相关联?
e.g。以下是什么意思?
target 'FirstTarget' do
link_with 'SecondTarget', 'ThirdTarget'
pod ...
end
我真的很想知道,因为我目前正在将播客分组的方式使得Cocoapods pod install
真的慢。举个例子,这里有一堆常见的与测试相关的pod用于多个目标:
def test_essentials
pod 'Specta', :git => 'https://github.com/specta/specta.git', :branch => '0.3-wip'
pod 'Expecta'
pod 'OCHamcrest'
pod 'OCMockito'
pod 'OCMock'
end
target 'MyProjSpecs', :exclusive => true do
test_essentials
...
end
target 'MyProjLogicSpecs', :exclusive => true do
test_essentials
...
end
当然,我的项目本身有更多目标 - 大约6个。使用这种模式会复制很多目标定义,并且很难弄清楚与什么有关。在Generating Pods Project
和Integrating client project
阶段,总共大约需要3分钟。
我做错了吗?