Skip to content

A CocoaPods plugin that adds additional acknowledgements to the plist generated by cocoapods-acknowledgements.

License

Notifications You must be signed in to change notification settings

bcylin/cocoapods-acknowledgements-addons

Repository files navigation

CocoaPods Acknowledgements Add-ons

GitHub Actions Gem Version

A CocoaPods plugin that adds additional acknowledgements to the plist generated by cocoapods-acknowledgements.

Installation

Install via gem install cocoapods-acknowledgements or add it to the Gemfile:

gem "cocoapods-acknowledgements-addons"

Prerequisites

  1. CocoaPods and cocoapods-acknowledgements
  2. The installed libraries provide podspec

Use cases

With Carthage / git submodules

If you have some dependencies installed via CocoaPods and some installed using different ways, such as Carthage or git submodules, you can aggregate the acknowledgements in one place.

Use the plugin in the Podfile:

target :App do
  pod "CPDAcknowledgements"
end

# Generates a plist of dependencies installed via CocoaPods
plugin "cocoapods-acknowledgements"

# Adds additional acknowledgements to the generated plist
plugin "cocoapods-acknowledgements-addons", add: ["Carthage/Checkouts"]

With Swift Package Manager

To find the dependencies installed via Swift Package Manager in ~/Library/Developer/Xcode/DerivedData, specify with_spm: true when using the plugin:

plugin "cocoapods-acknowledgements-addons", add: ["Carthage/Checkouts"], with_spm: true

What's modified?

The plugin searches **/*.podspec located in the specified directories and adds the acknowledgements to the plist generated by cocoapods-acknowledgements, which can be found in the Pods directory:

.
├── App.xcodeproj
├── App.xcworkspace
├── Podfile
├── Podfile.lock
└── Pods
    └── Pods-{target_name}-metadata.plist

This plugin also updates the app's Settings.bundle/Pods-{target_name}-settings-metadata.plist if it exists.

Check out the example app for the configuration to use with CPDAcknowledgements.

Pod Commands

Search: List all podspecs found in $PATHS

pod acknowledgements search $PATHS

Usage:

  1. without options
$ bundle exec pod acknowledgements search example

./Carthage/Checkouts/QuickTableViewController/QuickTableViewController.podspec
./Carthage/Checkouts/Alamofire/Alamofire.podspec
./Acknowledgements/Crypto/Crypto.podspec
  1. with --swift-packages
$ bundle exec pod acknowledgements search --swift-packages example/App.xcodeproj

~/Library/Developer/Xcode/DerivedData/App-djdfchmfsxwuuqbfczwmhygyunnk/SourcePackages/checkouts/CwlCatchException/CwlCatchException.podspec
~/Library/Developer/Xcode/DerivedData/App-djdfchmfsxwuuqbfczwmhygyunnk/SourcePackages/checkouts/Quick/Quick.podspec
~/Library/Developer/Xcode/DerivedData/App-djdfchmfsxwuuqbfczwmhygyunnk/SourcePackages/checkouts/CwlPreconditionTesting/CwlPreconditionTesting.podspec
~/Library/Developer/Xcode/DerivedData/App-djdfchmfsxwuuqbfczwmhygyunnk/SourcePackages/checkouts/Nimble/Nimble.podspec

License

Released under the MIT License.