• 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

  • 相关阅读:
    tp5出现“continue“ targeting switch is equivalent to “break“. Did you mean to use “continue 2“?错误解决方法
    composer报错Installation failed, reverting ./composer.json to its original content
    bootstrapTable自增序列号
    Linux向github添加公钥
    Git 提示fatal: remote origin already exists 错误解决办法
    bootstrapTable自定义模板
    tp5报错strpos(): Nonstring needles will be interpreted as strings in the future. Use an explicit chr() call to preserve the cu
    vim 操作指令
    中国历史纪年简表
    在VBA中使用Word格式
  • 原文地址:https://www.cnblogs.com/orca-gaofeng/p/3997675.html
Copyright © 2020-2023  润新知