UMLaunch.h 1.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. //
  2. // UMLaunch.h
  3. // WPKCore
  4. //
  5. // Created by zhangjunhua on 2021/4/20.
  6. // Copyright © 2021 uc. All rights reserved.
  7. //
  8. #import <Foundation/Foundation.h>
  9. NS_ASSUME_NONNULL_BEGIN
  10. //冷启动的预定义类型
  11. typedef NS_ENUM(NSInteger,UMPredefineLaunchType){
  12. UMPredefineLaunchType_DidFinishLaunchingEnd,//在didFinishLaunchingWithOptions的最后一句设置
  13. UMPredefineLaunchType_ViewDidLoadEnd,//在第一个ViewController的viewDidLoad函数的最后调用
  14. UMPredefineLaunchType_ViewDidAppearEnd//在第一个ViewController的viewDidAppear函数的最后调用
  15. };
  16. @interface UMLaunch : NSObject
  17. +(instancetype)shareInstance;
  18. +(void)setRootVCCls:(Class)cls;//在DidFinishLaunching第一句代码提前设置RootViewController
  19. /*
  20. * 手动设置三个预定义时间结束时间(初始化耗时结束,应用构建耗时结束,页面加载耗时结束)
  21. */
  22. +(void)setPredefineLaunchType:(UMPredefineLaunchType)predefineLaunchType;
  23. /*
  24. * 用户在冷启动阶段设置自己的自定义阶段
  25. * @note beginLaunch和endLaunch必须要配对调用
  26. * 如果调用时间段,不在页面加载耗时结束前调用,是不会上报的
  27. */
  28. + (void)beginLaunch:(NSString *)methodName;
  29. + (void)endLaunch:(NSString *)methodName;
  30. /*
  31. * 开启关闭启动模块采集
  32. */
  33. +(void)setLaunchEnable:(BOOL)enable;
  34. @end
  35. NS_ASSUME_NONNULL_END