Skip to content

Xcode build script that recursively searches for LICENSE files and generates a Settings.bundle friendly plist.

License

Notifications You must be signed in to change notification settings

Lomotif/LicenseGenerator-iOS

 
 

Repository files navigation

#LicenseGenerator iOS

Build Status

Recursively finds all LICENSE.* files in a directory and generates a plist that can be displayed in Settings.bundle or the provided view controller.

The script can help ensure that the license section of your app is always up to date. Since it searches recursively the script works well with cocoapods projects.

Inspired by JosephH and Sean's comments on stackoverflow.

##Build Script

The buiild script resursively searches the project for LICENSE files and generates a plist that can be used in a Settings.bundle. The script assumes that the parent directory of the LICENSE file is also the name of the library to be credited.

####Usage

  • Copy credits.py to the your project root
  • Open your project, select your Target and select Build Phases
  • Add a new Run Script Phase after target dependencies
  • Add something like: ./credits.py -s "$SRCROOT" -o "$SRCROOT/Project/Settings.bundle/Credits.plist"
  • Build & profit

####Excluding Directories You can optionally tell the generator to ignore certain paths. To do so use the -e option and pass it a comma seperated list of path fragments.

##View Controller If your app doesn't use a Settings.bundle you can use the provided view controller to show the licenses.

####Instalation

Add LicensesViewController to your Podfile:

source 'https://github.com/CocoaPods/Specs.git'
platform :ios, '8.0'
use_frameworks!

pod 'LicensesViewController', '~> 0.5.0'

Then tell Pod to install it:

$ pod install

Grab credits.py from this repo and add it to your project.

####Usage

Add the build script as described above and make sure the resulting plist is included in the app target.

import LicensesViewController

// ...

let licensesController = LicensesViewController()
licensesController.loadPlist(NSBundle.mainBundle(), resourceName: "Credits")

// ...

####Example Project

git clone https://github.com/carloe/LicenseGenerator-iOS.git
cd LicenseGenerator-iOS/Example
pod install
open LicensesViewControllerExample.xcworkspace

####Requirements

  • iOS 8.0

##Contact Twitter: @carloeugster Email: carlo@relaun.ch

##License MIT

About

Xcode build script that recursively searches for LICENSE files and generates a Settings.bundle friendly plist.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Swift 73.0%
  • Python 19.9%
  • Ruby 4.5%
  • Objective-C 2.6%