LicensePlist alternatives and similar libraries
Based on the "UI" category.
Alternatively, view LicensePlist alternatives based on common mentions on social networks and blogs.
-
Material
Express your creativity with Material, an animation and graphics framework for Google's Material Design and Apple's Flat UI in Swift. -
Animated Tab Bar
RAMAnimatedTabBarController is a Swift module for adding animation to tabbar items. -
FSPagerView
FSPagerView is an elegant Screen Slide Library. It is extremely helpful for making Banner View、Product Show、Welcome/Guide Pages、Screen/ViewController Sliders. -
Scrollable-GraphView
An adaptive scrollable graph view for iOS to visualise simple discrete datasets. Written in Swift. Originally written for a small personal project. -
Alerts Pickers
Advanced usage of UIAlertController with TextField, DatePicker, PickerView, TableView and CollectionView. -
SideMenu
Simple side menu control for iOS in Swift inspired by Facebook. Right and Left sides. No coding required. -
ESTabBarController
A highly customizable TabBarController component, which is inherited from UITabBarController. -
NotificationBanner
The easiest way to display highly customizable in app notification banners in iOS. -
TLYShyNavBar
Unlike all those arrogant UINavigationBar, this one is shy and humble! Easily create auto-scrolling navigation bars! -
KMNavigationBarTransition
A drop-in universal library helps you to manage the navigation bar styles and makes transition animations smooth between different navigation bar styles while pushing or popping a view controller for all orientations. And you don't need to write any line of code for it, it all happens automatically. -
RazzleDazzle
A simple keyframe-based animation framework for iOS, written in Swift. Perfect for scrolling app intros. -
CircleMenu
CircleMenu is a simple, elegant UI menu with a circular layout and material design animations.
Scout APM: A developer's best friend. Try free for 14-days
* Code Quality Rankings and insights are calculated and provided by Lumnify.
They vary from L1 to L5 with "L5" being the highest. Visit our partner's website for more details.
Do you think we are missing an alternative of LicensePlist or a related project?
README
LicensePlist
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.
[Flow](Screenshots/flow.png)
App Setting Root | License List | License Detail |
---|---|---|
[](Screenshots/root.png) | [](Screenshots/list.png) | [](Screenshots/detail.png) |
Installation
CocoaPods (Recommended)
pod 'LicensePlist'
# Installation path: `${PODS_ROOT}/LicensePlist/license-plist`
Homebrew (Also Recommended)
$ brew install mono0926/license-plist/license-plist
Or
$ brew tap mono0926/license-plist
$ brew install license-plist
Mint (Also Recommended)
$ mint run mono0926/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 with a one-liner.
$ curl -fsSL https://raw.githubusercontent.com/mono0926/LicensePlist/master/install.sh | sh
From Source
Clone the master branch of the repository, then run make install
.
$ git clone https://github.com/mono0926/LicensePlist.git
$ make install
Usage
- When you are in the directory that contains your
Cartfile
orPods
, simply executelicense-plist
. com.mono0926.LicensePlist.Output
directory will be generated.- Move the files in the output directory into your app's
Settings.bundle
.- [Settings.bundle's sample is here](Settings.bundle.zip)
- The point is to specify
com.mono0926.LicensePlist
as license list file on yourRoot.plist
.
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
Options
You can see options by license-plist --help
.
--cartfile-path
- Default:
Cartfile
--mintfile-path
- Default:
Mintfile
--pods-path
- Default:
Pods
--package-path
- Default:
Package.swift
- If you are using Swift Package Manager inside Xcode, you can use
--package-path $PROJECT_FILE_PATH/project.xcworkspace/xcshareddata/swiftpm/Package.swift
inside yourRun script
.
--output-path
- Default:
com.mono0926.LicensePlist.Output
- Recommended:
--output-path YOUR_PRODUCT_DIR/Settings.bundle
--github-token
- Default: None.
LicensePlist
uses GitHub API, so sometimes API limit error occures. You can avoid it by using github-token.- You can generate token here
repo
scope is needed.
--config-path
- Default:
license_plist.yml
- You can specify GitHub libraries(introduced by hand) and excluded libraries
--prefix
- Default:
com.mono0926.LicensePlist
- You can specify output file names instead of default one.
--html-path
- Default: None.
- If this path is specified, a html acknowledgements file will be generated.
--markdown-path
- Default: None.
- If this path is specified, a markdown acknowledgements file will be generated.
--force
- Default: false
LicensePlist
saves latest result summary, so if there are no changes, the program interrupts.- In this case, execution time is less than 100ms for the most case, so you can run
LicensePlist
atRun Script Phase
every time 🎉
- In this case, execution time is less than 100ms for the most case, so you can run
- You can run all the way anyway, by using
--force
flag.
--add-version-numbers
- Default: false
- When the library name is
SomeLibrary
, by adding--add-version-numbers
flag, the name will be changed toSomeLibrary (X.Y.Z)
.X.Y.Z
is parsed from CocoaPods and Cartfile information, and GitHub libraries specified at Config YAML also support this flag.
--suppress-opening-directory
- Default: false
- Only when the files are created or updated, the terminal or the finder opens. By adding
--suppress-opening-directory
flag, this behavior is suppressed.
--single-page
- Default: false
- All licenses are listed on a single page, not separated pages.
--fail-if-missing-license
- Default: false
- If there is even one package for which a license cannot be found, LicensePlist returns exit code 1.
Integrate into build
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
fi
[Run Script Phase](Screenshots/run_script_phase.png)
Alternatively, 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
fi
Q&A
How to generate Xcode project?
Execute swift package generate-xcodeproj
or make xcode
.
Related Articles
- LicensePlist というiOSアプリ利用ライブラリのライセンス一覧生成するツールを作りました – Swift・iOSコラム – Medium
- Swift Package Manager(SwiftPM)で作ったコマンドラインツールをHomebrewに登録する方法 - Qiita
Stargazers over time
寄付(Donation)
Donations are welcome if you like LicensePlist🤗
- PayPal.Me
- Transfer commission will be charged (40 yen + 3.6%)
- mono is creating LicensePlist | Patreon
- Amazonギフト券- Eメールタイプ
- メールアドレス: [email protected]
- ほしい物リスト
Send Money by ウォレットアプリ Kyash
[Kyash](Screenshots/kyash.jpeg)
*Note that all licence references and agreements mentioned in the LicensePlist README section above
are relevant to that project's source code only.