A fast, scriptable command-line tool for the App Store Connect API to automate iOS, macOS, tvOS and visionOS releases.
mono0926/LicensePlist
A command-line tool that generates a Plist and license list of your iOS app's dependencies so they appear in the Settings app.
- Stars
- 2,537
- Forks
- 156
- Open issues
- 37
- Last commit
- last month
What is it?
LicensePlist scans an iOS project for its dependencies and produces a Plist file for each library with its license text. It collects entries from Carthage, CocoaPods, Swift Package Manager (via Package.resolved or Package.swift), Mintfile, Nestfile, and mise, and it can also include manually declared libraries through a YAML config file.
The generated files are moved into a Settings.bundle, so the license list appears in the iOS Settings app. Output can also be written as HTML, Markdown, or CSV acknowledgements. Developers can exclude or rename entries, add version numbers, and fail the run when a license is missing.
It is typically run from a Xcode Run Script phase or as a build tool plugin, and it skips work when nothing has changed unless forced. It can be installed through CocoaPods, Homebrew, Mint, or as a Swift package.
Key features
- 01Generates per-library license Plist files for the iOS Settings app
- 02Collects dependencies from CocoaPods, Carthage, and Swift Package Manager
- 03Supports manual libraries and exclusions through a YAML config file
- 04Exports acknowledgements as HTML, Markdown, or CSV
- 05Runs as a command-line tool, Xcode build tool plugin, or contextual menu command
Use cases
- Adding an open-source license acknowledgements page to an iOS app's Settings screen
- Automating license list generation in a CI or Xcode build step
- Producing a Markdown or HTML third-party notices file for an iOS project
Quick start
- 1
Install via Homebrew
brew install licenseplist - 2
Run license-plist in the directory containing your Cartfile or Pods
license-plist - 3
Move the generated com.mono0926.LicensePlist.Output files into your app's Settings.bundle
Things to know
- Swift Package Manager dependencies are not supported as a standalone install method, though the tool can read SPM packages.
- Targets iOS app projects only.
In collections
Topics
FAQ
- What is LicensePlist?
- A command-line tool that generates a Plist and license list of your iOS app's dependencies so they appear in the Settings app. LicensePlist scans an iOS project for its dependencies and produces a Plist file for each library with its license text. It collects entries from Carthage, CocoaPods, Swift Package Manager (via Package.resolved or Package.swift), Mintfile, Nestfile, and mise, and it can also include manually declared libraries through a YAML config file.
- Is LicensePlist free to use? What license does it have?
- LicensePlist is open source under the MIT license. Check the license terms before using it in commercial products.
- Is LicensePlist still maintained?
- Updated within 6 months. The last commit to LicensePlist was on Sep 30, 2026.
- What can I use LicensePlist for?
- Adding an open-source license acknowledgements page to an iOS app's Settings screen Automating license list generation in a CI or Xcode build step Producing a Markdown or HTML third-party notices file for an iOS project
- How do I install LicensePlist?
- Install via Homebrew: brew install licenseplist Run license-plist in the directory containing your Cartfile or Pods: license-plist Move the generated com.mono0926.LicensePlist.Output files into your app's Settings.bundle
- Where can I get LicensePlist?
- The source code and installation instructions are on GitHub: https://github.com/mono0926/LicensePlist
Summary generated by AI from the project's README. GitHub stats refresh daily.
Related projects
A Swift command line tool that generates Xcode projects from a YAML or JSON project spec and your folder structure.
An MCP server and CLI that gives AI coding agents tools to build, test and run iOS and macOS Xcode projects.
A cross-platform Xcode replacement that builds, signs and installs iOS apps from SwiftPM packages on Linux, Windows and macOS.
A linter that enforces Swift style and conventions, with over 200 rules that can be configured per project.
A macOS app that gives a GUI for controlling iOS, tvOS, and watchOS simulators by wrapping Apple's simctl tool.