MCM*_*tan 2 dependency-management ios cocoapods swift swift-package-manager
App有20多个目标.
每次添加目标时,我都需要更新我的podfile:
Podfile
target 'SomeNewTarget' do
runAllPods // Block that contains all "pod ...."
end
Run Code Online (Sandbox Code Playgroud)
我的问题:
是否有一种向所有目标添加依赖项的通用方法?我基本上希望向除测试目标之外的所有目标添加相同的依赖项.
完整的podifle:
# 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'
Run Code Online (Sandbox Code Playgroud)
....更多的依赖
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
Run Code Online (Sandbox Code Playgroud)
......更多目标
做这样的事情可能会奏效.
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
Run Code Online (Sandbox Code Playgroud)
有关此方法的更多详细信息,请查看Cocoapod的回购中的此主题:
https://github.com/CocoaPods/CocoaPods/issues/5898
| 归档时间: |
|
| 查看次数: |
634 次 |
| 最近记录: |