These may have concrete objects implementing the functionality directly, or if there is already a great 3rd party doing the job well, provide an adapter implementation to that dependency. Each adapter has a separate CocoaPods subspec. The following adapters for third-party frameworks are currently available:
Alerter: SwiftMessagesBugReporter: PinpointKitLogger: XCGLoggerActivityIndicator: JGProgressHUDTouchVisualization: COSTouchVisualizerCrashReporter: KSCrash
The following hand rolled adapters are available:
Locator:CoreLocationAdapter(andCoreLocationSimulator–wip)DefaultsandDefaultsKey:DefaultDefaultsandDefaultDefaultsKey(say that fast five times)Fonts:DefaultFontsCrudViewController: Create, read, update and delete from a data model usingUITableView,UISearchControllerandFetchedResultsControllerInfoViewController: app name and version info, links to Two Ring Software properties (need to parameterize and extract to private shared repo), and buttons for more detail for certain components that may be present, like acknowledgements, bug reporting or in app purchasesFormController: manage traversal and keyboard avoidance for a collection of inputs