Repolode
mono0926

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. 1

    Install via Homebrew

    brew install licenseplist
  2. 2

    Run license-plist in the directory containing your Cartfile or Pods

    license-plist
  3. 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

#ios#license-management#swift#cli#xcode#automation#commandline#license#licenses#productivity

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