orca-gaofeng

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

预研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

posted on 2014-09-28 09:08  Orca  阅读(751)  评论(0编辑  收藏  举报