CocoaPods,以通用方式向所有目标添加依赖项 [英] Cocoapods, add dependencies to all targets in a generic way

查看:42
本文介绍了CocoaPods,以通用方式向所有目标添加依赖项的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

应用程序有20多个目标。

每次添加目标时,我都需要更新我的播客文件:

Podfile

target 'SomeNewTarget' do
    runAllPods // Block that contains all "pod ...."
end

我的问题:

是否有向所有目标添加依赖项的通用方法? 我基本上希望将相同的依赖项添加到除测试目标之外的所有目标。

全足:

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

inhibit_all_warnings!

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

  # Pods for MyApp

  pod 'Swinject', '~> 2.1.0'
  pod 'SwinjectAutoregistration', '2.1.0'
  pod 'IHKeyboardAvoiding', '4.0'
  pod 'SnapKit', '3.2.0'
  pod 'Material', '~> 2.10.2'
  pod 'RxSwift', '~> 3.0'
  pod 'RxCocoa', '~> 3.0'
  pod 'PureLayout'
  pod 'Alamofire', '~> 4.5'

...更多依赖项

end

  post_install do |installer|
    installer.pods_project.targets.each do |target|
      if target.name == 'HydraAsync' || target.name == 'DKImagePickerController' || target.name == 'WhatsNew' || target.name == 'Closures' 
        target.build_configurations.each do |config|
          config.build_settings['SWIFT_VERSION'] = '4.0'
        end
      end
    end
  end



target 'Target1' do
  runAllPods
end

target 'Target2' do
  runAllPods
end

target 'Target3' do
  runAllPods
end

target 'Target4' do
  runAllPods
end
...
target 'Target 20' do
  runAllPods
end

.更多目标

推荐答案

这样做可能会奏效。

def common_pods
    pod 'Pod1'
    pod 'Pod2'
    pod 'Pod3'
    …
end

project = Xcodeproj::Project.open "../Project.xcodeproj"
project.targets.each do |t|
    target t.name do
        common_pods
    end
end

有关此方法的更多详细信息,请查看Cocoapod的repo上的此帖子:

https://github.com/CocoaPods/CocoaPods/issues/5898

这篇关于CocoaPods,以通用方式向所有目标添加依赖项的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆