CocoaPods link_with

时间:2015-05-27 09:20:35

标签: cocoapods

我正在尝试为不同的目标包含不同的库。

link_with 'Target 1', 'Target 2', 'Target 3'
platform :ios, '7.0'
pod 'MMWormhole', '~> 1.1.1'

link_with 'Target 4', 'Target 5'
platform :ios, '7.0'
pod 'AFNetworking', '~> 2.5'
pod 'MBProgressHUD', '~> 0.8'
pod 'MMWormhole', '~> 1.1.1'

怎么做?

解决方案 (感谢SalvoC的解决方案!)

target :'Main App', :exclusive => true do
  platform :ios, '7.0'
  pod 'AFNetworking', '~> 2.5'
  pod 'MBProgressHUD', '~> 0.8'
  pod 'MMWormhole', '~> 1.1.1'

  platform :ios, '8.0'
  pod 'SplunkMint'
end

target :'Main App Extension', :exclusive => true do
  platform :ios, '7.0'
  pod 'MMWormhole', '~> 1.1.1'
end

在Podfile中更改目标配置时,请确保删除了以前生成的所有* .a文件。他们坚持每个目标,你得到关于"重复的错误"当你建立。

如果您更改了"其他链接器Flages"手动,在运行pod安装之前,请确保删除旧条目并放入$(继承)。

欢呼声

3 个答案:

答案 0 :(得分:5)

在这种情况下,您不应该使用link_with。 试试这个:

target :'Target 1', :exclusive => true do
   platform :ios, '7.0'
   pod 'MMWormhole', '~> 1.1.1'
end

并指定每个目标

的陈述

答案 1 :(得分:0)

Cocoapods 1.0已移除link_with& exclusive =>如果支持abstract_target,则为true。

答案 2 :(得分:0)

如秋朗所述, abstract_target 现在是将多个目标与多个目标相关联的方法:

abstract_target 'someNameForAbstractTarget' do
  pod 'podThatIsForAllTargets'
end

target 'realTarget' do
  pod 'podThatIsOnlyForThisTarget'
end