Skip to content
No description, website, or topics provided.
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
AppDelegateComponent
Example
.gitignore
.travis.yml
AppDelegateComponent.podspec
LICENSE
README.md
_Pods.xcodeproj

README.md

AppDelegateComponent

Build Status Version License Platform

A micro-framework helping you modularize and declutter your AppDelegate by splitting the functionality into testable components. The components get the AppDelegatecallbacks forwarded for implementing decoupled functionality.
AppDelegateComponent consists of 3 parts:

AppDelegateComponent

The protocol AppDelegateComponent defines functions from UIApplicationDelegate. Your types conforming to AppDelegateComponent can implement the callbacks it needs to provide the wanted functionality. For example registering a crash-logging framework in func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool.

AppDelegateComponentStore

The protocol AppDelegateComponentStore defines an array of AppDelegateComponent. They represent all available components that should receive the forwarded AppDelegate callbacks. One obvious candidate to conform to AppDelegateComponentStore is your AppDelegate.

AppDelegateComponentRunner

AppDelegateComponentRunner objects act as the glue between the App's AppDelegate and all AppDelegateComponent provided by the AppDelegateComponentStore. The runner forwards all the callbacks.

See AppDelegate.swift for a practical example.

This project currently only supports the most common UIApplicationDelegate callbacks, or what was needed for Icro. Please feel free to open a pull-request to extend it.

Requirements

Installation

AppDelegateComponent is available through CocoaPods. To install it, simply add the following line to your Podfile:

pod 'AppDelegateComponent'

Author

hartlco, martin@hartl.co

License

AppDelegateComponent is available under the MIT license. See the LICENSE file for more info.

You can’t perform that action at this time.