Cocoapods version Cocoapods plateform Prs welcome
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.
- Display tableView with licences used in your app
- Download licence from an URL
- Xcode 11
- iOS 9.0+ target deployment
- Swift 3, Swift 4 or Swift 5.1 project
- 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 } }
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
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>";
-
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
Florian Gabach, florian.gabach@gmail.com
OpenSourceController is available under the MIT license.