Native Swift. Familiar workflow.
Your dependencies.
In good order.
Describe your Apple project in a Podfile. SwiftPods resolves dependencies, keeps versions locked, and connects everything to Xcode.
macOS / iOS / tvOS / watchOS / visionOS / Mac Catalyst
# Start with the project you have.
platform :ios, '15.0'
target 'MyApp' do
use_frameworks! :linkage => :static
pod 'Networking',
:path => './Modules/Networking'
endFrom declaration to build
A small workflow.
A project ready to build.
Keep dependencies together.
Use version requirements, Git sources, or local paths. Share declarations between targets and choose libraries or frameworks.
Make versions repeatable.
Run swiftpods install and commit your lockfile. Update one dependency when you choose to.
Stay in Xcode.
Open the generated workspace. Sources, headers, resources, and framework integration become part of your build.
Team & CI
The same dependency versions, wherever you build.
Deployment mode enforces the lockfile. Offline mode uses dependencies already present in your cache.
See project commands →swiftpods install --deployment
swiftpods install --offline
# Update a dependency intentionally.
swiftpods update Networking
# Inspect why it is in the project.
swiftpods why Networking --jsonExtend the installation
Keep the hooks your project needs.
Use Ruby helpers and supported installation hooks with a separately installed Ruby. The dependency engine runs in Swift.
Work with hooks →post_install do |installer|
installer.pods_project.targets.each do |target|
target.build_configurations.each do |configuration|
configuration.build_settings['MY_BUILD_FLAG'] = 'YES'
end
end
endStart with your project.
Install SwiftPods, add a Podfile, and build.