Popularity
1.6
Stable
Activity
0.0
Stable
52
4
3

Code Quality Rank: L5
Programming language: Swift
License: MIT License
Tags: Utility    
Latest version: v4.1.1

OpenSourceController alternatives and similar libraries

Based on the "Utility" category.
Alternatively, view OpenSourceController alternatives based on common mentions on social networks and blogs.

Do you think we are missing an alternative of OpenSourceController or a related project?

Add another 'Utility' Library

README

Features • Usage • Translation • Customisation • Installation • 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

Requirements

  • Xcode 11
  • iOS 9.0+ target deployment
  • Swift 3, Swift 4 or Swift 5.1 project

Usage

  • Import the library :
import OpenSourceController
  • Display the controller :
// 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)

With SwiftUI :

struct OpenSourceView: UIViewControllerRepresentable {
    @available(iOS 13, *)
    public func updateUIViewController(_ uiViewController: OpenSourceViewController, context: UIViewControllerRepresentableContext<OpenSourceView>) {
        //
    }

    @available(iOS 13, *)
    public func makeUIViewController(context: UIViewControllerRepresentableContext<OpenSourceView>) -> OpenSourceViewController {
        let openSourceVC = OpenSourceViewController(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")],
                                                    showCloseButton: true,
                                                    configuration: OpenSourceControllerConfig(),
                                                    licenceLoader: LicenceLoader())
        return openSourceVC
    }
}

Customisation

You can apply some customisation. To do it you can use the OpenSourceControllerConfig structure like this :

// Navigation bar title 
openSourceVC.config.title = "MyCustomTitle"

// 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." = "<your_translation>";

Installation

  • To integrate OpenSourceController into your Xcode project using Swift Packet Manager, specify this url in Xcode : https://github.com/floriangbh/OpenSourceController

  • To integrate OpenSourceController into your Xcode project using CocoaPods, specify it in your Podfile :

pod "OpenSourceController", '~> 3.0.0' # Swift 4.2 Version

pod "OpenSourceController", '~> 2.0' # Swift 4.0 Version 

pod "OpenSourceController", '~> 1.0.8' # Swift 3.1 version
  • To integrate OpenSourceController into your Xcode project using Carthage, specify it in your Cartfile :
github "floriangbh/OpenSourceController" ~> 3.0.0 # Swift 4.2 version

github "floriangbh/OpenSourceController" ~> 2.0 # Swift 4.0 version

github "floriangbh/OpenSourceController" ~> 1.0.8 # Swift 3.1 version

Author

Florian Gabach, [email protected]

License

OpenSourceController is available under the [MIT license](LICENSE).


*Note that all licence references and agreements mentioned in the OpenSourceController README section above are relevant to that project's source code only.