iOS不用调用,running time自动执行方法

拿友盟举例子

友盟比较好使,友盟看了他们的文档 他告诉你你要在 appdelegate didFinishLaunch方法里面写了这个东西

[UMSocialData setAppKey:@"XX"];
    //     注册微信
 
 [UMSocialWechatHandler setWXAppId:@"XXX"  appSecret:@"XX" url:@""];
    //    注册QQ
 
 [UMSocialQQHandler setQQWithAppId:@"XXX" appKey:@"XXX" url:@""];

我们需要统计下我页面的信息 你接入了友盟的统计 在appdelegate didFinishLaunch又 多了行代码

需求是无穷无尽 我需要bug统计(fir hud) 提醒用户评分系统(iRate) 推送(jPush 信鸽 个推。。)

决心一定要把代码封装的完美

IQKeyBoardManageiRate这种智能的大牛的readme 写了这段话

Key Features
1) CODELESS, Zero Line Of Code 不需要写任何代码
2) Works Automatically //自动工作
3) No More UIScrollView //不需要scrollview
4) No More Subclasses //不需要继承父类
5) No More Manual Work //不需要配置
6) No More #imports //不需要导入

其实不神奇 只是大牛用了 + load这个方法

学习OC都知道这个代码会在一个类被加载到运行库中就会被自动调用 这不就实现了 自动调用

#import <foundation foundation.h="">
@interface ThirdPartService : NSObject
@end
 
 
 
 #import "ThirdPartService.h"
 #import "UMSocial.h"
 #import "UMSocialWechatHandler.h"
 #import "UMSocialQQHandler.h"
 #import <mobclick.h>
 #import <fir fir.h="">
@implementation ThirdPartService
 + (void)load {static dispatch_once_t onceToken;dispatch_once(&onceToken, ^{    //    TODO  这里是我自己测试的  fir hud
    [FIR handleCrashWithKey:@"XX"];    //    友盟
    [UMSocialData setAppKey:@"XX"];    //     隐藏未安装的平台
    [UMSocialConfig hiddenNotInstallPlatforms:@[UMShareToQQ,UMShareToQzone,UMShareToWechatSession,UMShareToWechatTimeline]];    //     注册微信
    [UMSocialWechatHandler setWXAppId:@"XX" appSecret:@"XX" url:@""];    //    注册QQ
    //    TODO   QQ的不是真的
    [UMSocialQQHandler setQQWithAppId:@"XX" appKey:@"XX" url:@""];    //    TODO    UM统计
    [MobClick startWithAppkey:@""];
    [MobClick setCrashReportEnabled:NO];    NSLog(@"第三方服务注册完毕");
});
}@end

自动调用,完事!!!!

  

原文地址:https://www.cnblogs.com/beijingxiaoguo/p/4788388.html