LicensePlist is a command-line tool that automatically generates a Plist of all your dependencies, including files added manually(specified by YAML config file) or using Carthage or CocoaPods. All these licenses then show up in the Settings app.
| App Setting Root | License List | License Detail |
|---|---|---|
![]() |
![]() |
![]() |
$ brew install mono0926/license-plist/license-plistOr
$ brew tap mono0926/license-plist
$ brew install license-plistpod 'LicensePlist'
Download the executable binary from Releases
Download from Releases, then copy to /usr/local/bin/license-plist etc.
Or you can also download the latest binary and install it by one-liner.
$ curl -fsSL https://raw.githubusercontent.com/mono0926/LicensePlist/master/install.sh | shClone the master branch of the repository, then run make install.
$ git clone https://github.com/mono0926/LicensePlist.git
$ make install- On the directory same as
CartfileorPods, simply executelicense-plist. com.mono0926.LicensePlist.Outputdirectory will be generated.- Move the files in the output directory into your app's
Settings.bundle.
Settings.bundle
├── Root.plist
├── com.mono0926.LicensePlist
│ ├── APIKit.plist
│ ├── Alamofire.plist
│ └── EditDistance.plist
├── com.mono0926.LicensePlist.plist
├── en.lproj
│ └── Root.strings
└── ja.lproj
└── Root.strings
You can see options by license-plist --help.
- Default:
Cartfile
- Default:
Pods
- Default:
com.mono0926.LicensePlist.Output - Recommended:
--output-path YOUR_PRODUCT_DIR/Settings.bundle
- Default: None.
LicensePlistuses GitHub API, so sometimes API limit error occures. You can avoid it by using github-token .- You can generate token here
reposcope is needed.
- Default:
license_plist.yml - You can specify GitHub libraries(introduced by hand) and excluded libraries
- Default: false
LicensePlistsaves latest result summary, so if there are no changes, the program iterrupts.- In this case, excecution time is less than 100ms for the most case, so you can run
LicensePlistatRun Script Phaseevery time 🎉
- In this case, excecution time is less than 100ms for the most case, so you can run
- You can run all the way anyway, by using
--forceflag.
- Default: false
- When the library name is
SomeLibrary, by adding--add-version-numbersflag, the name will be changed toSomeLibrary (X.Y.Z).X.Y.Zis parsed from CocoaPods and Cartfile information, and GitHub libraries specified at Config YAML also support this flag.
- Default: false
- Only when the files are created or updated, the terminal or the finder opens. By adding
--suppress-opening-directoryflag, this behavior is suppressed.
Add a Run Script Phase to Build Phases:
if [ $CONFIGURATION = "Debug" ]; then
/usr/local/bin/license-plist --output-path $PRODUCT_NAME/Settings.bundle --github-token YOUR_GITHUB_TOKEN
fiAlternatively, if you've installed LicensePlist via CocoaPods the script should look like this:
if [ $CONFIGURATION = "Debug" ]; then
${PODS_ROOT}/LicensePlist/license-plist --output-path $PRODUCT_NAME/Settings.bundle --github-token YOUR_GITHUB_TOKEN
fiExecute swift package generate-xcodeproj or make xcode.
- LicensePlist というiOSアプリ利用ライブラリのライセンス一覧生成するツールを作りました – Swift・iOSコラム – Medium
- Swift Package Manager(SwiftPM)で作ったコマンドラインツールをHomebrewに登録する方法 - Qiita
I'm welcome donation if you'd like LicnsePlist🤗
- Amazonギフト券- Eメールタイプ
- メールアドレス: mono0926@gmail.com
- ほしい物リスト







