Skip to content

Sometimes it is easier and faster to visualize the log output within the same app

License

Notifications You must be signed in to change notification settings

carabina/SwiftUIDebug

 
 

Repository files navigation

SwiftUIDebug

CI Status Version License Platform

Animation

Example

To run the example project, clone the repo, and run pod install from the Example directory first.

Requirements

iOS 9.0 or higher

Installation

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

pod 'SwiftUIDebug'

Example

Import the framework

import SwiftUIDebug

In a view controller, add it just like this:

    SwiftUIDebug.debugController(with: self)

Or you can combine it with the shake gesture:

override func motionEnded(_ motion: UIEventSubtype, with event: UIEvent?) {
    if motion == .motionShake {
        SwiftUIDebug.debugController(with: self)
    }
}

To add a log entry to the default log provider, simply call:

SwiftLogProvider.shared.add(SwiftLog(Date(), "..."))

Customization

Since the Log View is embedded in the EMTransformableNavigationController, you can add custom navigation items by implementing the SwiftUIDebugNavigationItemProviderProtocol. Than add your implementation as follows:

SwiftUIDebug.debugController(with: self, navigationItemProvider: 'YourCustomImplementationOfSwiftUIDebugNavigationItemProviderProtocol')

You can also use a custom implementation for your log provider:

SwiftUIDebug.debugController(with: self,
                             viewModel: SwiftLogViewModel(provider: 'YourCustomImplementationOfSwiftLogProviderProtocol')
                             navigationItemProvider: 'YourCustomImplementationOfSwiftUIDebugNavigationItemProviderProtocol')

Author

eberl_ma@gmx.at

License

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

About

Sometimes it is easier and faster to visualize the log output within the same app

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Swift 92.5%
  • Ruby 7.5%