cats-oss/Degu
🐭 Degu is debug utility for iOS, tvOS and macOS.
Usage
1. ApplicationProxy
This is an example. There are only 2 implementations what you have to.
- set a delegate to
ApplicationProxy.shared.delegate - implement
ApplicationProxyDelegate
import Degu
class AppDelegate: UIResponder, ApplicationDelegate {
...
func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool {
// Override point for customization after application launch.
#if DEBUG
ApplicationProxy.shared.delegate = self
#endif
...
return true
}
...
}
extension AppDelegate: ApplicationProxyDelegate {
func applicationProxy(_ proxy: ApplicationProxy, didSendEvent event: UIEvent) {
print(event)
}
}In addition, you can get lifecycle method call of all ViewControllers.
func applicationProxy(_ proxy: ApplicationProxy, didCallLifeCycle lifeCycle: ViewControllerLifeCycle, ofViewController viewController: UIViewController) {
print("ViewController = \(viewController)")
print("LifeCycle = \(lifeCycle)")
}2. Override load or initialize method
+(void)load and +(void)initialize are not permitted by Swift.
You can override +(void)load and +(void)initialize in Extension of RuntimeHandler.
extension RuntimeHandler {
open override class func handleLoad() {
// do something
}
open override class func handleInitialize() {
// do something
}
}⚠️ handleLoad and handleInitialize are not called Subclass of RuntimeHandler. It only works in Extension of RuntimeHandler.
Installation
Carthage
If you’re using Carthage, simply add Degu to your Cartfile:
github "cats-oss/Degu"CocoaPods
Degu is available through CocoaPods. To install it, simply add the following line to your Podfile:
pod 'Degu'Swift Package Manager
If you’re using Swift Package Manager, simply add Degu to your Package.swift:
dependencies: [
.package(url: "https://github.com/cats-oss/Degu", from: "0.2.0")
]Requirements
- Xcode 11.1
- Swift 5.1
License
Degu is available under the MIT license. See the LICENSE file for more info.
Package Metadata
Repository: cats-oss/Degu
Stars: 24
Forks: 2
Open issues: 0
Default branch: master
Primary language: swift
License: MIT
Topics: cocoapods, debugging-tool, ios, macos, swift, swift-package-manager, tvos
README: README.md