AcknowledgementsPlist manages the licenses of libraries that depend on your iOS app.

Overview

What's AcknowledgementsPlist

AcknowledgementsPlist that combines licenses of Carthage, CocoaPods, and Manual Plist into Bundle and Plist.
I implement it so that it will be completed locally!

Swift Cocoapods Build Status License

Requirements

  • Xcode 10.2+
  • Swift 5+

How to install

CocoaPods

pod 'AcknowledgementsPlist'

Executable binary from releases

Please use executable binary freely in each project!

How to use AcknowledgementsPlist

See Sample, for more details.
It is recommended to make it like make-acknowledgements-plist.sh.
I think that you can execute it after Pods or Carthage is updated.

Usage

acknowledgementsplist [PROJECT_ROOT_PATH] [OUTPUT_PATH] [OPTIONS]

e.g. acknowledgementsplist . ./Sample-Acknowledgements.plist --manual-plist-path ./ManualAcknowledgements.plist

[PROJECT_ROOT_PATH]

  • Required 🔥
  • Please specify the project root path as seen from the directory to be executed!

[OUTPUT_PATH]

  • Required 🔥
  • Please specify the file name of ./~/foo.plist and the bundle file name of ./~/bar.bundle that starting from project root!

[OPTIONS]

--pods-path

  • You can specify a Pods file path. The default is to search automatically.

--carthage-checkouts-path

  • You can specify a Checkouts file path. The default is to search automatically.

--manual-plist-path

  • You can add and include licenses manually to plist.
  • The configuration of plist.↓
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
    <key>PreferenceSpecifiers</key>
    <array>
        <dict>
            <key>FooterText</key>
            <string>Legal Text</string>
            <key>Title</key>
            <string>Library Name</string>
        </dict>
        <dict>
            <key>FooterText</key>
            <string>Legal Text</string>
            <key>Title</key>
            <string>Library Name</string>
        </dict>
    </array>
</dict>
</plist>

--exclude-word

  • Exclude URLs that contain the specified word.
  • e.g. --exclude-word "NSObject-Rx RxOptional"

Make Plist

  1. Check if Pods and b Carthage/Checkouts exist.
    If Carthage/Checkouts does not exist, execute the command of carthage checkout.

  2. Determine the location of the AcknowledgementsPlist and the output location of Plist.
    e.g. acknowledgementsplist . ./Sample/Resources/Sample-Acknowledgements.plist

Make Bundle

  1. Please do 1. of Make Plist.

  2. Make bundle and change Root.plist to the following configuration.

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
    <dict>
        <key>PreferenceSpecifiers</key>
        <array>
            <dict>
                <key>Type</key>
                <string>PSChildPaneSpecifier</string>
                <key>Title</key>
                <string>Licenses</string>
                <key>File</key>
                <string>AcknowledgementLinks</string>
            </dict>
        </array>
        <key>StringsTable</key>
        <string>Root</string>
    </dict>
</plist>
  1. Determine the location of the AcknowledgementsPlist and the output location of Bundle.
    e.g. acknowledgementsplist . ./Sample/Resources/Settings.bundle

LICENSE

Under the MIT license. See LICENSE file for details.

You might also like...
This repository contains a detailed sample app that implements VIPER architecture in iOS using libraries and frameworks like Alamofire, AlamofireImage, PKHUD, CoreData etc.
This repository contains a detailed sample app that implements VIPER architecture in iOS using libraries and frameworks like Alamofire, AlamofireImage, PKHUD, CoreData etc.

iOS Viper Architecture: Sample App This repository contains a detailed sample app that implements VIPER architecture using libraries and frameworks li

A set of libraries to help users find and replace native system emojis with EmojiOne in their app or website.
A set of libraries to help users find and replace native system emojis with EmojiOne in their app or website.

This repository is now maintained as JoyPixels/emoji-toolkit. You'll find the latest version of our resources at emoji-toolkit. Please see the UPGRADE

DYLDExtractor  - Packed tool for extracting frameworks and libraries from iOS dyld shared cache.
DYLDExtractor - Packed tool for extracting frameworks and libraries from iOS dyld shared cache.

DYLDExtractor is a tool wrapping around the dsc_extractor.bundle calling dyld_shared_cache_extract_dylibs_progress to get frameworks and libraries extracted from iOS dyld shared cache.

PagingKit provides customizable menu UI. It has more flexible layout and design than the other libraries.
PagingKit provides customizable menu UI. It has more flexible layout and design than the other libraries.

PagingKit provides customizable menu & content UI. It has more flexible layout and design than the other libraries. What's this? There are many librar

Awesome list of macOS libraries

Awesome macOS libraries 🔥 🔥 🔥 All listed libraries support macOS Content Dependency Manager Animation Audio Database Dependency Injection Device Ex

Awesome SwiftUI Libraries 🚀 🚀 🚀

Awesome SwiftUI Libraries 🚀 🚀 🚀 Do you know a cool SwiftUI library? Welcome to contribute! Content Alert Animation Button Calendar Card Chart Clock

A Swift package for Raylib. Builds Raylib from source so no need to fiddle with libraries.
A Swift package for Raylib. Builds Raylib from source so no need to fiddle with libraries.

A Swift package for Raylib. Builds Raylib from source so no need to fiddle with libraries. Just add as a dependency in you game package and go!

Bolts is a collection of low-level libraries designed to make developing mobile apps easier.

Bolts Bolts is a collection of low-level libraries designed to make developing mobile apps easier. Bolts was designed by Parse and Facebook for our ow

Bolts is a collection of low-level libraries designed to make developing mobile apps easier.

Bolts in Swift Bolts is a collection of low-level libraries designed to make developing mobile apps easier. Bolts was designed by Parse and Facebook f

Integrate third party libraries by using Cocoapods and Swift Package Manager, store data in the cloud using Firebase Firestore.
Integrate third party libraries by using Cocoapods and Swift Package Manager, store data in the cloud using Firebase Firestore.

Integrate third party libraries by using Cocoapods and Swift Package Manager, store data in the cloud using Firebase Firestore. Exercising query and s

RxAlamoRecord combines the power of the AlamoRecord and RxSwift libraries to create a networking layer that makes interacting with API's easier than ever reactively.
RxAlamoRecord combines the power of the AlamoRecord and RxSwift libraries to create a networking layer that makes interacting with API's easier than ever reactively.

Written in Swift 5 RxAlamoRecord combines the power of the AlamoRecord and RxSwift libraries to create a networking layer that makes interacting with

Twitter Text Libraries. This code is used at Twitter to tokenize and parse text to meet the expectations for what can be used on the platform.

twitter-text This repository is a collection of libraries and conformance tests to standardize parsing of Tweet text. It synchronizes development, tes

An ongoing curated list of frameworks, books, articles, talks, screencasts, recordings, libraries, learning tutorials and resources about Swift (Experimental libraries) Controls interrupt handling, such as alert views, and is compatible with UIKit and Swift UI.
(Experimental libraries) Controls interrupt handling, such as alert views, and is compatible with UIKit and Swift UI.

UIPresentCoordinator Controls interrupt handling, such as alert views, and is compatible with UIKit and Swift UI. This library manages items that are

A set of libraries used for parsing representations of Swift Packages similar to how SwiftPM itself works

A set of libraries used for parsing representations of Swift Packages similar to how SwiftPM itself works, but also supporting Xcode specific features (such as Swift Playground Apps).

A curated list of awesome SwiftUI tutorials, libraries, videos and articles.

Awesome SwiftUI 🕶️ A curated list of awesome SwiftUI tutorials, libraries, sessions and articles. Contributing Found a SwiftUI library or snippet tha

A framework and generator for displaying SwiftUI component libraries

Exhibition Exhibition is a framework and generator for displaying a SwiftUI component library. Inspired by Storybook and Showkase Installation Swift P

SecretSquirrel: A Demonstration of releasing Closed Source libraries privately via SPM
SecretSquirrel: A Demonstration of releasing Closed Source libraries privately via SPM

SecretSquirrel: A Demonstration of releasing Closed Source libraries privately via SPM. A demo repository that showcases how to properly vend a closed

Demo-implementation of 5 different Chart Libraries in SwiftUI

Comparison of Chart Libraries for SwiftUI Read the entire blog post including images on jannikarndt.de! I want to add charts to my SwiftUI iOS App, Ze

Releases(0.0.8)
Owner
CATS Open Source Softwares
OSS from CATS ( CyberAgent Advanced Technology Studio ).
CATS Open Source Softwares
Generate a list of licenses for the Swift Package libraries that your app depends on.

LicenseList Generate a list of licenses for the Swift Package libraries that your app depends on. Example Requirements Written in Swift 5 Compatible w

Cybozu 40 Dec 19, 2022
A way to easily add Cocoapod licenses and App Version to your iOS App using the Settings Bundle

EasyAbout Requirements: cocoapods version 1.4.0 or above. Why you should use Well, it is always nice to give credit to the ones who helped you ?? Bonu

João Mourato 54 Apr 6, 2022
Localizations is an OS X app that manages your Xcode project localization files (.strings)

Localizations 0.2 Localizations is an OS X app that manages your Xcode project localization files (.strings). It focuses on keeping .strings files in

Arnaud Thiercelin 129 Jul 19, 2022
List tree data souce to display hierachical data structures in lists-like way. It's UI agnostic, just like view-model and doesn't depend on UI framework

SwiftListTreeDataSource List tree data souce to display hierachical data structures in lists-like way. It's UI agnostic, just like view-model, so can

Dzmitry Antonenka 26 Nov 26, 2022
An flexbox layout aimed at easy to use, which depend on Yoga.

DDFlexbox A flexbox framework for easy using. Install pod 'DDFlexbox' Template install Recommend using templates to create flexbox views. cd Script/

Daniel 12 Mar 23, 2022
Acknowledgements screen displaying a list of licenses, for example from CocoaPods dependencies.

VTAcknowledgementsViewController Acknowledgements screen displaying a list of licenses, for example from CocoaPods dependencies. Also available in Swi

Vincent Tourraine 868 Oct 28, 2022
BulletinBoard is an iOS library that generates and manages contextual cards displayed at the bottom of the screen

BulletinBoard is an iOS library that generates and manages contextual cards displayed at the bottom of the screen. It is especially well

Alexis (Aubry) Akers 5.3k Jan 2, 2023
CloudCore is a framework that manages syncing between iCloud (CloudKit) and Core Data written on native Swift.

CloudCore CloudCore is a framework that manages syncing between iCloud (CloudKit) and Core Data written on native Swift. Features Leveraging NSPersist

deeje cooley 123 Dec 31, 2022
A scroll pager that displays a list of tabs (segments) and manages paging between given views

ScrollPager A scroll pager similar to the one in Flipboard. The control creates a tabbar given a title or an image, and has the option of connecting t

Aryan Ghassemi 512 Aug 31, 2022
Don't start from scratch, start from Here! This is a starter project for iOS projects. It contains all the basic configurations and common libraries for your project.

Starter-iOS Don't start from scratch, start from Here! This is a starter project for iOS projects. It contains all the basic configurations and common

Shaban Kamel 6 May 24, 2022