AppDelegateHooks: easy library to hook AppDelegate methods ,distributed your UIApplicationDelegate code in every component.
pod 'AppDelegateHooks', '~> 0.0.1'
github "FengDeng/AppDelegateHooks" ~> 0.0.1
dependencies: [
.package(url: "https://github.com/FengDeng/AppDelegateHooks", from: "0.0.1")
]
sample in main project:
class AppDelegate: UIResponder, UIApplicationDelegate {
var window: UIWindow?
func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {
print("Main didFinishLaunchingWithOptions")
return true
}
}
in your workspace or framework:
class ExampleHook1 : AppDelegateHook{
//添加你想要的生命周期
self.level = 1000//如果你这个组件想要最先加载 level越大越先
func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey : Any]?) -> Bool {
print("ExampleHook1 didFinishLaunchingWithOptions")
return true
}
func applicationWillResignActive(_ application: UIApplication) {
print("ExampleHook1 applicationWillResignActive")
}
......
}
class ExampleHook2 : AppDelegateHook{
//添加你想要的生命周期
self.level = 10000//如果你这个组件想要最先加载 level越大越先
func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey : Any]?) -> Bool {
print("ExampleHook2 didFinishLaunchingWithOptions")
return true
}
func applicationWillResignActive(_ application: UIApplication) {
print("ExampleHook2 applicationWillResignActive")
}
......
}
print:
ExampleHook2 didFinishLaunchingWithOptions
ExampleHook1 didFinishLaunchingWithOptions
Main didFinishLaunchingWithOptions
ExampleHook2 applicationWillResignActive
ExampleHook1 applicationWillResignActive
Thanks for Aspects which developed by @steipete in GitHub
AppDelegateHooks: 一个可以轻松拦截AppDelegate所有回调的轻量级的库,把你的初始化代码分散到各个组件内部。
pod 'AppDelegateHooks', '~> 0.0.1'
github "FengDeng/AppDelegateHooks" ~> 0.0.1
dependencies: [
.package(url: "https://github.com/FengDeng/AppDelegateHooks", from: "0.0.1")
]
在子组件或者模块内新建文件
class ExampleHook1 : AppDelegateHook{
//添加你想要的生命周期
self.level = 1000//如果你这个组件想要最先加载 level越大越先
func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey : Any]?) -> Bool {
print("ExampleHook1 didFinishLaunchingWithOptions")
return true
}
func applicationWillResignActive(_ application: UIApplication) {
print("ExampleHook1 applicationWillResignActive")
}
......
}
class ExampleHook2 : AppDelegateHook{
//添加你想要的生命周期
self.level = 10000//如果你这个组件想要最先加载 level越大越先
func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey : Any]?) -> Bool {
print("ExampleHook2 didFinishLaunchingWithOptions")
return true
}
func applicationWillResignActive(_ application: UIApplication) {
print("ExampleHook2 applicationWillResignActive")
}
......
}
打印如下:
ExampleHook2 didFinishLaunchingWithOptions
ExampleHook1 didFinishLaunchingWithOptions
Main didFinishLaunchingWithOptions
ExampleHook2 applicationWillResignActive
ExampleHook1 applicationWillResignActive
link |
Stars: 22 |
Last commit: 4 years ago |
Swiftpack is being maintained by Petr Pavlik | @ptrpavlik | @swiftpackco | API | Analytics