Features
• Installation
• Usage
• Translation
• Customisation
• License
Display a screen with all licences used in your application can be painful to maintain. OpenSourceController was built to respond to this problem. OpenSourceController is a simple parser to display the licences which are used in your application.
## Features
- [x] Display tableView with licences used in your app
- [x] Download licence from an URL
## Todo (feel free to make PR)
- [ ] Download licence from Podfile (https://github.com/terflogag/OpenSourceController/issues/1)
- [ ] Download licence from Cartfile (https://github.com/terflogag/OpenSourceController/issues/2)
- [ ] Download licence from local file
- [ ] Unit & UI Test
## Requirements
* Xcode 9
* iOS 9.0+ target deployment
* Swift 3 or Swift 4 project
## Installation
- To integrate OpenSourceController into your Xcode project using [CocoaPods](http://cocoapods.org), specify it in your Podfile :
```ruby
pod "OpenSourceController", '~> 2.0'
pod "OpenSourceController", '~> 1.0.8' # Swift 3.1 version
```
- To integrate OpenSourceController into your Xcode project using [Carthage](https://github.com/Carthage/Carthage), specify it in your Cartfile :
```ruby
github "floriangbh/OpenSourceController" ~> 2.0
github "floriangbh/OpenSourceController" ~> 1.0.8 # Swift 3.1 version
```
## Usage
- Import the library :
```swift
import OpenSourceController
```
- Display the controller :
```swift
// Create controller
let openSourceVC = OpenSourceController()
// Init with LicenceFile object
openSourceVC.licences = [LicenceFile(title: "FacebookImagePicker",
url: "https://raw.githubusercontent.com/terflogag/FacebookImagePicker/master/LICENSE"),
LicenceFile(title: "JSQMessagesViewController",
url: "https://raw.githubusercontent.com/jessesquires/JSQMessagesViewController/develop/LICENSE")]
// Present controller
openSourceVC.presentOpenSourceController(from: self)
// OR push the controller if the source controller is embeded in navigation controller
openSourceVC.pushOpenSourceController(from: self)
```
## Customisation
You can apply some customisation. To do it you can use the OpenSourceControllerConfig structure like this :
```swift
// Navigation bar title
openSourceVC.config.title = "MyCustomTitle"
// Navigation bar tint color
openSourceVC.config.uiConfig.barTintColor = UIColor.red
// Close button color
openSourceVC.config.uiConfig.closeButtonColor = UIColor.white
// BackgroundColor
openSourceVC.config.uiConfig.backgroundColor = UIColor.red.withAlphaComponent(0.6)
// Licence text color
openSourceVC.config.uiConfig.licenceTextColor = UIColor.white
// Navigation bar title color
openSourceVC.config.uiConfig.titleColor = UIColor.white
// Licence cell background color
openSourceVC.config.uiConfig.licenceBackgroundColor = UIColor.red
// Verbose mode
openSourceVC.config.verbose = true
```
## Translation
OpenSourceController is currently write in english. If you need translation for the permission popup (or whatever thing), just add this line in your localized file :
```
"Unable to load this licence." = "";
```
## Author
Florian Gabach, florian.gabach@gmail.com
## License
OpenSourceController is available under the [MIT license](LICENSE).