Podfile

时间:2017-08-03 15:51:52

标签: ios swift xcode cocoapods

我正在尝试将Google移动广告SKD安装到我的Xcode项目中。我安装了Cocoapods,然后将Podfile初始化为我的项目:

# Uncomment the next line to define a global platform for your project
platform :ios, '10.2'

target 'Cubical' do
  # Comment the next line if you're not using Swift and don't want to use dynamic frameworks
  use_frameworks!

  # Pods for Cubical

  target 'CubicalTests' do
    inherit! :search_paths
    # Pods for testing
  end

  target 'CubicalUITests' do
    inherit! :search_paths
    # Pods for testing
  end

end

但是,我不明白为什么我的主项目(Cubical)中有目标。我从未真正使用过CubicalTests或CubicalUITests,因为我不需要测试我的UI或任何代码片段。 我在考虑删除这两个文件夹。

我的问题是,

1)从Xcode项目中删除Tests和UITests文件夹有什么缺点吗?如果我这样做,我可以简单地从我的Podfile中删除这两个目标吗?

2)假设我要保留这两个目标。我是否必须将pod添加到所有三个目标?或者两个嵌套目标是否继承目标“Cubical”

的任何pod

3)我是否需要将链接框架添加到Google移动广告SDK?或者这已经由Cocoapods完成了吗?

我的最终吊舱看起来像这样:

# Uncomment the next line to define a global platform for your project
platform :ios, '10.2'

target 'Cubical' do
  # Comment the next line if you're not using Swift and don't want to use dynamic frameworks
  use_frameworks!
  pod 'Google-Mobile-Ads-SDK'

  # Pods for Cubical

  target 'CubicalTests' do
    inherit! :search_paths
    # Pods for testing
  end

  target 'CubicalUITests' do
    inherit! :search_paths
    # Pods for testing
  end

end

1 个答案:

答案 0 :(得分:4)

问题1:

删除TestsCubicalUITests目标时,没有问题。文件夹,如果你不需要执行那种测试。

问题2

您可以与以下几个目标共享pod,

def shared
pod 'Google-Mobile-Ads-SDK'
end

target 'Target1' do
shared
end

target 'Terget2' do
shared
end

多个目标的全局广告

#Global Pod for all targets
pod 'Google-Mobile-Ads-SDK'

target 'target1' do
    pod 'Fabric' #Pod for nested Target. i.e., Google-Mobile-Ads-SDK + Fabric
end

target 'target2' do
 pod 'RadioButton'#Pod for nested Target. i.e., Google-Mobile-Ads-SDK + RadioButton
end

嵌套目标的窗格

#Global Pod for all targets
pod 'Google-Mobile-Ads-SDK'

target 'target1' do
   pod 'RadioButton' #Available for target1 and target2
   target 'target2 copy' do 
      pod 'Fabric' #Available for target2 only
   end
end

问题3:

链接的框架由cocoapods自动完成。请参阅here您需要使用没有cocoapods的框架链接框架。