zoukankan      html  css  js  c++  java
  • IOS程序崩溃报告管理解决方案(Crashlytics 在2014-09-24)

    预研Crashlytics  在2014-09-24
    1:实现原理
    在原理上,Crashlytics通过以下2步完成崩溃日志的上传和分析:
    (1)提供应用SDK,你需要在应用启动时调用其SDK来设置你的应用。SDK会集成到你的应用中,完成Crash信息的收集和上传。
    (2)修改工程的编译配置,加入一段代码,在你每次工程编译完成后,上传该工程对应的dSYM文件。研究过手工分析Crash日志的同学应该知道,只有通过该文件,才能将Crash日志还原成可读的Call Stack信息。
    2:如何测试
    (1)在applicationDidFinishLaunching方法中添加如下代码。
     ’
      //尽可能靠近你的applicationDidFinishLaunching方法的顶部,但在所有其他第三方的SDK后
        [Crashlytics sharedInstance].debugMode = YES;
        [Crashlytics startWithAPIKey:@"97d8a33c450f2337fb632c82c4adebe3088cc0cd"];
    (2)在其他的页面中添加
     [[Crashlytics sharedInstance] crash];或者int *x = NULL; *x = 42;
    3:需要注意的地方
    (1)只要确保你正确地安装我们(尽可能靠近你的applicationDidFinishLaunching方法的顶部,但在所有其他第三方的SDK后)。

    (2)应用对外发布后,才可以在Crashlytics后台查看和修改相关的记录

    (3)修改工程的编译配置,加入一段代码,在你每次工程编译完成后,上传该工程对应的dSYM文件(根据为静态库添加依赖的shell脚本:run script  Build Phase—》run script —》shell)
    (4)Xcode的“打包(Archive)”命令一个版本时也就是release(Ad Hoc或者App Store)时,保存了对应的xxx.app和xxx.dSYM文件(可以搜索.dSYM关键字)
    (5)每次发布版本要注意备份一份对应的.dSYM文件。

    4:Crashlytics提供3日志机制,自定义日志记录,自定义按键和用户信息。 ( 注意:调用Crashlytics startWithAPIKey 之后)
    (1)为了更好地应对客户支持查询,它往往是有帮助知道哪些用户经历一个给定的崩溃
     (void)setUserIdentifier:(NSString *)identifier; //deviceToken+手机号
    (2)如果你想要利用高级的用户标识符功能,您还可使用两个:
     + (void)setUserName:(NSString *)name;
     + (void)setUserEmail:(NSString *)email;

    5:其他的方案

    (1)友盟sdk

    (2)云测sdk

  • 相关阅读:
    djangorestframework的源码认证流程
    centos7 docker更换源地址(阿里云)
    vue 递归 无限极
    Linux文件属性及如何改变文件属性和权限
    centos7 安装docker
    centos7 mysql5.7 忘记密码
    git push 单个文件时超过100M报错,解决方案
    python中的依赖包--导出与安装
    18-----cmdb需求规划以及表结构设计
    17-----vue前端权限管理
  • 原文地址:https://www.cnblogs.com/orca-gaofeng/p/3997675.html
Copyright © 2011-2022 走看看