拿友盟举例子

友盟比较好使,友盟看了他们的文档 他告诉你你要在 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

自动调用,完事!!!!

  

iOS不用调用,running time自动执行方法的更多相关文章

  1. A框架 第二部 实例化接收到的get类,调用父类抽象方法,自动执行方法call_user_func_array()

    01父类抽象类 abstract.php <?phpabstract class controller_abstract{ protected $app; function __construc ...

  2. 每隔一秒自动执行函数(JavaScript)

    http://www.cnblogs.com/xlx0210/archive/2010/03/19/1689497.html 1. setInterval() ——每隔一秒自动执行方法,setInte ...

  3. 使用spring声明式事务,spring使用AOP来支持声明式事务,会根据事务属性,自动在方法调用之前决定是否开启一个事务,并在方法执行之后决定事务提交或回滚事务。

    使用spring声明式事务,spring使用AOP来支持声明式事务,会根据事务属性,自动在方法调用之前决定是否开启一个事务,并在方法执行之后决定事务提交或回滚事务.

  4. react 调用 function 的写法 及 解决 react onClick 方法自动执行

    1.react 调用方法的写法 (1)方式一 onClick={this.getFetchData.bind(this,item.id)} (2)方式二 getFetchData(e){ this.s ...

  5. JAVA设计方法思考之如何实现一个方法执行完毕后自动执行下一个方法

    今天编程时,突然想起来在一些异步操作或Android原生库的时候,需要我们实现一些方法, 这些方法只需要我们具体实现,然后他们会在适当的时候,自动被调用! 例如AsyncTask,执行玩doInBac ...

  6. Javascript 自动执行函数(立即调用函数)

    开头:各种原因总结一下javascript中的自动执行函数(立即调用函数)的一些方法,正文如下 在Javascript中,任何function在执行的时候都会创建一个执行上下文,因为function声 ...

  7. ios开发之-- 延迟执行方法

    延迟执行的几种方法,分享一下. 1.performSelector(NSObject)方法  2.NSTimer方法  3.GCD方法  4.sleep(NSThread)方法 1.performSe ...

  8. springBoot启动时让方法自动执行的几种实现方式

    一.开篇名义 在springBoot中我们有时候需要让项目在启动时提前加载相应的数据或者执行某个方法,那么实现提前加载的方式有哪些呢?接下来我带领大家逐个解答 1.实现ServletContextAw ...

  9. iOS 设置 延迟执行 与 取消延迟执行 方法 以及对 run loop 初步认识

    之前开发过程中经常会有需求会使用 NSObject中的"performSelector:withObject:afterDelay:"做方法延迟执行的处理, 但是 还没有什么地方需 ...

随机推荐

  1. JMeter基础之--元件的作用域与执行顺序

    前面有介绍过jmeter的元件类别,对于新手来说,jmeter的元件是还是不少的,如果我们按照每一个元件的每一个参数的含义去学习,无疑会降低学习性能测试的热情,就算我们熟悉了所有元件以及元件上的参数了 ...

  2. windows下IIS+PHP解决大文件上传500错问题

    linux下改到iis+php后,上传大于2M就出500错,改了php.ini中的upload_max_filesize也不行,最后解决如下: 第一步:修改php.ini 上传大小限制 (以上传500 ...

  3. 自己修改的两个js文件

    sea-base.js /** * Sea.js 2.2.3 | seajs.org/LICENSE.md */ (function(global, undefined) { // Avoid con ...

  4. Displaying Bitmaps Efficiently 显示图片相关

    http://developer.android.com/training/displaying-bitmaps/index.html .手机内存资源有限 .Bitmap占用的内存大 .App有时需要 ...

  5. 深入理解Session与Cookie

    Session与cookie的作用都是为了保持访问用户与后端服务器的交互状态. cookie通过把所有要保存的数据通过HTTP协议的头部从客户端传递到服务端,又从服务端再传回到客户端,所有的数据都存储 ...

  6. OKHttp的容易使用

    OKHttp的简单使用 一方面,最近关于OKHttp的讨论甚嚣尘上,另一方面,我最近也更新了android6.0,发现在6.0中HttpClient不能使用了,于是决定抽时间也看一下OKHttp,总结 ...

  7. linux中终端控制键Ctrl+C,Ctrl+Z,Ctrl+D的使用场合

    1.Ctrl+C比较暴力,就是发送Terminal到当前的程序,比如你正在运行一个查找功能,文件正在查找中,Ctrl+C就会强制结束当前的这个进程.2.Ctrl+Z是把当前的程序挂起,暂停执行这个程序 ...

  8. MyEclipse中折叠和展开所有代码

    我们有些时候一个文件中会后很多函数,需要对其进行折叠或展开. Ctrl+Shift+/可以快速折叠所有代码 Ctrl+Shift+*可以快速展开所有代码

  9. 评论Final版本发布

    1.  新蜂:俄罗斯方块 产品方面:俄罗斯方块在Beta版本基础上新增了许多功能,其中游戏中按A键可以开启瞄准,这个功能在市面上是具有先发优势的,算是一个较大的亮点:在改进了文字ui和方块的贴图以及游 ...

  10. javascript 多线程Web Worker不引用外部js文件的方法

    最近在Android开发中 Webview通过调用JavascriptInterface的方式与App交互 在交互的过程中,有些App上的操作时间会比较长,Web中调用的话会造成程序假死的情况 于是想 ...