我目前正在使用 Cocoapods 构建一个多模块 iOS 项目,并面临依赖管理的挑战。我的产品结构如下:
app/
|-- SampleApp/
|-- Podfile
sdk/
|-- Module 1/
|-- Module 2/
|-- Module 3/
|-- Module 4/
|-- Module 5/
Run Code Online (Sandbox Code Playgroud)
每个模块都有自己的 podspec 文件,其中依赖项用其特定版本进行描述。有些模块依赖于其他模块,也被描述为依赖项,但没有版本,因为我总是想要最新的版本。
我在 Podfile 中这样描述该项目:
platform :ios, '11.0'
use_frameworks!
workspace 'SampleAppWorkspace'
project 'SampleApp/SampleApp.xcodeproj'
target 'SampleApp' do
use_frameworks!
project 'SampleApp/SampleApp.xcodeproj'
target 'SampleAppTests' do
inherit! :search_paths
end
target 'SampleAppUITests' do
inherit! :search_paths
end
end
target 'Module 5' do
use_frameworks!
project '../sdk/Module 5/Module 5.xcodeproj'
end
target 'Module 4' do
use_frameworks!
project '../sdk/Module 4/Module 4.xcodeproj'
target 'Module …Run Code Online (Sandbox Code Playgroud)