SSeoUtilities 0.0.1

SSeo_utilities 0.0.1

Son Nguyen 维护。



  • 编者:
  • Son Nguyen

SSUtilitiesiOS

这是一个用于存放我所有小东西的地方。

App 生命周期监听器

这里有两种生命周期:AppDelegate (UIKit) 和 scene phase (Swift UI)。由于 scene phase 目前仍不能完全替代 AppDelegate 中的所有回调,因此您可能需要重新考虑使用它。为了使监听器正常工作,您需要做以下两件事之一

  • 如果您想使用 AppDelegate,则您的 AppDelegate 类必须扩展 SSAppDelegate
  • 如果您使用 scene phase,则需要在您的视图(如果您删除带有此功能的视图,则需要在新的视图中再次调用它)上调用 adaptToAppEventEmitter。如果您想监听 app did launch,您还需要执行第一个选项,并提供 @UIApplicationDelegateAdaptor

注意:如果您使用具有 @UIApplicationDelegateAdaptor 的 SwiftUI 生命周期,则存在一个 bug,即 AppDelegate 的方法在 appDidLaunchWithOptions 之后将不会被调用,因此您必须使用 scene phase 作为补充。

如何监听应用生命周期事件。

您可以有多个监听器,只需使用必要的方法实现 SSAppEventObserver 即可。
如果您的观察者有appDidLaunch方法,您必须使用AppDelegate作为主生命周期的实现,或者作为 @UIApplicationDelegateAdaptor,同时,在您的主应用程序包中,您需要创建一个名为 AppEventObservers.plist 的plist文件,在该文件中,将根节点设为数组,并将每个观察者的类名添加到该数组中。
除此之外,您可以通过调用 SSAppEventManager.shared.registerObserverSSAppEventManager.shared.unregisterObserver 直接注册/注销观察者。

定时器

默认的Timer在后台状态下无法正常工作,所以我编写了这个类。其使用方法与Timer类似,但可以在后台状态下工作。

其他内容

我还这里有一些其他的小东西,如果需要,您可以进行探索。