Analyze
Discover nested projects, workspaces, Podfiles, targets, and locked dependency versions.
PkgLift analyzes native Xcode projects, creates a reviewable migration plan, and applies only dependency changes backed by exact evidence.
Apple Silicon · macOS 14 distribution minimum · MIT licensed. See the verified environments.
1. Install PkgLift:
brew install Alexsvensson99/tap/pkglift2. Open Terminal in your project's folder and run:
pkglift analyzeAnalysis prints its findings in Terminal. Your Xcode project and Podfile stay unchanged.
$ pkglift analyze Scanning MyApp.xcworkspace… Found 3 direct CocoaPods dependencies. $ pkglift plan AUTO Alamofire 5.9.1 exact mapping + supported lockfile version REVIEW LegacyAnalytics external source requires human review UNKNOWN InternalUI no exact registry evidence Plan saved to .pkglift/plan.json $ pkglift migrate Dry run complete. No project files changed. $ pkglift migrate --apply Applied 1 reviewed AUTO migration. Preserved 2 CocoaPods dependencies. $ pkglift verify --build --scheme MyApp ✓ package linkage ✓ SwiftPM resolution ✓ Xcode build
Use the CLI to analyze, plan, apply, and verify supported migrations while uncertain dependencies stay under CocoaPods.
PkgLift 1.0.1, published 2026-10-02 Europe/Stockholm, retains the stable 1.x public CLI, JSON, and Swift library contracts within its documented compatibility scope. Exact dependency and project evidence still governs every AUTO decision.
Version 1.0.1 fails closed on unsupported .xcproj definitions before analysis or migration, including bundles with both PBX and JSON definitions. It does not add JSON-project migration. Read the release notes and qualification record.
Install through Homebrew or download the latest signed, notarized macOS release. Already using PkgLift? Run brew update && brew upgrade pkglift to update a Homebrew installation.
Regenerate saved migration plans after upgrading to 1.0.1. Executable plans are bound to the exact PkgLift version that created them.
The signed CLI runtime was verified on macOS 14.8.9 without a consumer build. Hosted consumer acceptance used macOS 15.7.9/Xcode 16.4; separate local validation used macOS 27.0/Xcode 27.0. These are independent observations, not a continuous support range. See the exact environment cells. Positive external multi-target/workspace qualification remains deferred.
Review a plan, preview the changes, and apply only entries backed by exact registry, version, target, and language evidence.
Build verification checks the resulting package linkage before you accept the migration.
Uncertain dependencies stay with CocoaPods, and unsupported project shapes—including unsupported .xcproj definitions—are refused instead of guessed.
Dry run remains the default so you can inspect the proposed change first.
PkgLift separates discovery, decision-making, mutation, and verification so every risky transition remains visible.
Discover nested projects, workspaces, Podfiles, targets, and locked dependency versions.
Classify every direct dependency and save a reviewable, typed migration plan.
Dry-run by default. Apply only the reviewed entries classified as AUTO.
Check package-product-target linkage, resolve SwiftPM, and optionally run an Xcode build.
Ten public projects are pinned and exercised through read-only analysis, planning, and dry run. A separate qualification run proves one AWS single-target partial migration and build; repository-owned fixtures provide additional controlled migration evidence.
Explore all pilot outcomesKnown dependencies move only when project context preserves the full evidence chain.
Dynamic Ruby and install hooks stop otherwise plausible mappings.
A nested local dependency is detected and deliberately preserved.
An exact literal declaration still stays put when registry evidence is absent.
Exact mapping, supported locked version, verified product and target, plus complete consumer-language evidence.
A plausible path exists, but unsupported project context or judgment is required.
The project contains a construct that prevents a safe automatic migration.
PkgLift does not invent a repository URL, product, target, or compatible version.
In the repo-owned mixed-language fixture, PkgLift migrated exactly SDWebImage, resolved SwiftPM, built for the simulator, and preserved every source and resource hash.
The mixed Swift and Objective-C target built before migration.
The complete AUTO set was exactly SDWebImage.
Only the disposable repo-owned fixture was mutated.
SwiftPM resolution, simulator build, and protected hashes passed.
A practical, review-first path from installation to verified build.
Source-language evidence and explicit project-integration boundaries.
Resolve dirty worktrees, ambiguous projects, missing schemes, and conservative refusals.
Understand exact mappings and contribute upstream-backed evidence.
Run pkglift analyze from your project's folder. It prints a report without modifying your Xcode project or Podfile. Review the findings before creating a migration plan.