代理框架

TMFRouter框架提供了直接接管应用的生命周期,应用生命周期管理、处理与分发 UIApplication 的代理事件的能力。

使用方式

在main.m中添加代码:

#import "TMFRouter.h"

int main(int argc, char * argv[]) {
    @autoreleasepool {
        // 如果您的工程系统代理类名不是AppDelegate,可以这样传入您的类名
        gTMFRouterAppDelegateStr = @"AppDelegate";
        tmf_router_AppDelegate_initializeHooker();
        return UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate class]));
    }
}

在TMFAppDelegate中,可以看到提供了如下代理:

/**
 *  建议在 beforeDidFinishLaunchingWithOptions 中实现TMF SDK的初始化。
 */
- (void)tmf_application:(UIApplication *)application beforeDidFinishLaunchingWithOptions:(NSDictionary *)launchOptions;

/**
 *  框架回调该方法,让接入应用可以接管自己的didFinishLaunching逻辑。
 *  并且当返回TMFAppDelegateCallbackResultReturnYES或TMFAppDelegateCallbackResultReturnNO时,直接给系统返回,不再执行 afterDidFinishLaunchingWithOptions 方法。
 *
 *  @return 是继续让框架执行,还是直接给系统返回YES或NO
 */
- (TMFAppDelegateCallbackResult)tmf_application:(UIApplication *)application handleDidFinishLaunchingWithOptions:(NSDictionary *)launchOptions;

/**
 *  didFinishLaunchingWithOptions 后的回调
 */
- (void)tmf_application:(UIApplication *)application afterDidFinishLaunchingWithOptions:(NSDictionary *)launchOptions;

- (BOOL)tmf_application:(UIApplication *)app openURL:(NSURL *)url options:(NSDictionary<UIApplicationOpenURLOptionsKey, id> *)options;

- (void)tmf_applicationWillResignActive:(UIApplication *)application;

- (void)tmf_applicationDidEnterBackground:(UIApplication *)application;

- (void)tmf_applicationWillEnterForeground:(UIApplication *)application;

- (void)tmf_applicationDidBecomeActive:(UIApplication *)application;

- (void)tmf_applicationWillTerminate:(UIApplication *)application;

- (void)tmf_applicationDidReceiveMemoryWarning:(UIApplication *)application;

推送相关的回调在这里并没有回调,请参阅TMFPush SDK的相关文档。

注意:TMFApplication的原则是,如果您已经实现了系统默认的代理事件,则TMFApplication不再回调对应的事件。需特别注意的是:如果您实现了系统的 didFinishLaunchingWithOptions 方法,那么TMFAppDelegate的 beforeDidFinishLaunchingWithOptions、handleDidFinishLaunchingWithOptions、afterDidFinishLaunchingWithOptions 都不会回调。

Copyright © 2013-2023 Tencent Cloud. all right reserved,powered by GitbookUpdate Time 2023-08-31 14:46:07

results matching ""

    No results matching ""