美文网首页iOS开发中的bugiOS开发进阶iOS技术专题
APP崩溃收集和处理(自己写和借助第三方)

APP崩溃收集和处理(自己写和借助第三方)

作者: wg689 | 来源:发表于2016-04-26 10:38 被阅读791次

    1)自己写崩溃收集

    demo 地址:GitHub - wg689/CrashDemo: 自己写代码捕获异常信息

    自己写代码捕获异常信息,将捕获到的异常信息在下次联网的时候发给后

    1)将UncaughtExceptionHandler1.h UncaughtExceptionHandler1.m 文件拖到项目中

    2)AppDelegate.m 中

    import "UncaughtExceptionHandler1.h"

    (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { // Override point for customization after application launch. //调用这个函数就可以收集崩溃信息 InstallUncaughtExceptionHandler();

    return YES; }

    3)ViewController.m中 [dict setObject:nil forKey:@"kong"];制造崩溃信息

    (void)viewDidLoad { [super viewDidLoad]; // Do any additional setup after loading the view, typically from a nib. NSMutableDictionary *dict = [NSMutableDictionary dictionary]; //这里打开就可以看到控制台输出异常信息 // [dict setObject:nil forKey:@"kong"]; }

    4)异常信息输出

    2016-04-26 11:53:53.941 CrashDemo[1758:465788] 异常信息

    *** setObjectForKey: object cannot be nil (key: kong)( "4 libc++abi.dylib 0x0000000197e72f44 + 16", "5 libc++abi.dylib 0x0000000197e72b10 __cxa_rethrow + 144", "6 libobjc.A.dylib 0x00000001987e4120 objc_exception_rethrow + 44", "7 CoreFoundation 0x0000000183b14d48 CFRunLoopRunSpecific + 552", "8 UIKit 0x00000001892321c8 + 460" )


    2)借助第三方平台 友盟

    1) 先到友盟平台申请appkey ,appkey 填到代码中(如果集成了环信sdk 如下代码环信sdk中就有 只需要在环信sdk中填上key即可),集体继承方式参照友盟崩溃收集集成方法

    -(void)setupUMeng{

    //友盟

       NSString *bundleID = [[[NSBundle mainBundle] infoDictionary] objectForKey:@"CFBundleIdentifier"];

      if (1/*[bundleID isEqualToString:@"com.easemob.enterprise.demo.ui"]*/) {

         [MobClick startWithAppkey:@"554b577267e58e761d******"//这是友盟的appkey

         reportPolicy:BATCH

         channelId:Nil];

       #if DEBUG

           [MobClick setLogEnabled:YES];

       #else

             [MobClick setLogEnabled:NO];

    #endif

    }

    2)代码集成成功了  在后台看得到崩溃的信息,将崩溃的信息导出成.csv后缀的

    3)下载终端解析csv文件的umcrashtool   下载链接 友盟-专业的移动开发者服务平台,关于详细的友盟崩溃解析也可以参考这个链接

    4) 打开终端 将下载的umcrashtool 和csv 文件拖到终端,终端自动运行解析出csv文件中的崩溃信息在哪个.m 文件,在哪一行

    效果如下图

    相关文章

      网友评论

      本文标题:APP崩溃收集和处理(自己写和借助第三方)

      本文链接:https://www.haomeiwen.com/subject/mtmqrttx.html