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

时间: 2024-08-27 04:31:25

IOS程序崩溃报告管理解决方案(Crashlytics 在2014-09-24)的相关文章

CocoaPods :为iOS程序提供依赖管理的工具

http://www.devtang.com/blog/2014/05/25/use-cocoapod-to-manage-ios-lib-dependency/ http://blog.csdn.net/showhilllee/article/details/38398119 http://blog.csdn.net/xdrt81y/article/details/30631221 http://www.it165.net/os/html/201408/9155.html http://www

【iOS-Develop技术文章-004】用CocoaPods做iOS程序的依赖管理

一.CocoaPods概述 每种语言发展到一个阶段,就会出现相应的依赖管理工具,例如 Java 语言的 Maven,nodejs 的 npm.随着 iOS 开发者的增多,业界也出现了为 iOS 程序提供依赖管理的工具,它的名字叫做:CocoaPods. CocoaPods项目的源码 在 Github 上管理.该项目开始于 2011 年 8 月 12 日,经过多年发展,现在已经成为 iOS 开发事实上的依赖管理标准工具.开发 iOS 项目不可避免地要使用第三方开源库,CocoaPods 的出现使得

用CocoaPods做iOS程序的依赖管理(转载)

原文链接:http://blog.devtang.com/blog/2014/05/25/use-cocoapod-to-manage-ios-lib-dependency/ 用CocoaPods做iOS程序的依赖管理 MAY 25TH, 2014 文档更新说明 2012-12-02 v1.0 初稿 2014-01-08 v1.1 增加设置 ruby 淘宝源相关内容 2014-05-25 v2.0 增加国内 spec 镜像.使用私有 pod.podfile.lock.创建 spec 文件等内容

CocoaPods——用CocoaPods做iOS程序的依赖管理

文档更新说明 2012-12-02 v1.0 初稿 2014-01-08 v1.1 增加设置ruby淘宝源相关内容 2014-05-25 v2.0 增加国内spec镜像.使用私有pod.podfile.lock.创建spec文件等内容 CocoaPods简介 每种语言发展到一个阶段,就会出现相应的依赖管理工具,例如Java语言的Maven,nodejs的npm.随着iOS开发者的增多,业界也出现了为iOS程序提供依赖管理的工具,它的名字叫做:CocoaPods. CocoaPods项目的源码在G

iOS 用CocoaPods做iOS程序的依赖管理

文档更新说明 2012-12-02 v1.0 初稿 2014-01-08 v1.1 增加设置 ruby 淘宝源相关内容 2014-05-25 v2.0 增加国内 spec 镜像.使用私有 pod.podfile.lock.创建 spec 文件等内容 2015-09-03 v2.1 优化排版,调整一些描述方式,使文章更易读懂. CocoaPods 简介 每种语言发展到一个阶段,就会出现相应的依赖管理工具,例如 Java 语言的 Maven,nodejs 的 npm.随着 iOS 开发者的增多,业界

CocoaPods:为iOS程序提供依赖管理的工具

本文转载自: http://www.devtang.com/blog/2014/05/25/use-cocoapod-to-manage-ios-lib-dependency/ (Posted by 唐巧 May 25th, 2014 iOS) 每种语言发展到一个阶段,就会出现相应的依赖管理工具,例如Java语言的Maven.随着iOS开发者的增多,业界也出现了为iOS程序提供依赖管理的工具,它的名字叫做:CocoaPods. CocoaPods项目的源码在Github上管理.该项目开始于201

<转帖>用CocoaPods做iOS程序的依赖管理

CocoaPods简介 每种语言发展到一个阶段,就会出现相应的依赖管理工具,例如Java语言的Maven,nodejs的npm.随着iOS开发者的增多,业界也出现了为iOS程序提供依赖管理的工具,它的名字叫做:CocoaPods. CocoaPods项目的源码在Github上管理.该项目开始于2011年8月12日,经过多年发展,现在已经成为iOS开发事实上的依赖管理标准工具.开发iOS项目不可避免地要使用第三方开源库,CocoaPods的出现使得我们可以节省设置和更新第三方开源库的时间. 在我开

[Windows]_[初级]_[Release程序的崩溃报告minidump解决方案]

场景: 1. Release的程序崩溃时,崩溃报告可以让开发人员查明代码哪里出了问题,用处大大的. 2. 只有用VS的编译器才支持,所以MinGW就无缘了. 3. 使用了未处理异常过滤处理函数. 4. 生成的.dmp文件用zlib库压缩, 用到以下的ZipHelper类,编译时还是需要zlib库和dbghelp.lib http://blog.csdn.net/infoworld/article/details/41290969 5. 使用方式就是把DbgReport作为app类的成员变量,或者

iOS 用CocoaPods做iOS程序的依赖管理(基于Alcatraz),以及升级Mac 10.11后Xcode的CocoaPods插件报错

创建Podfile文件 1.点击红框, Creat Podfile 2.接着弹出Podfile文件 3.Edit Profile, 下面以添加融云SDK为例: 融云SDK Podfile文件添加如下内容: Podfile Edited 1 也可以这样编辑: 屏幕快照 2015-10-27 上午9.04.47.png "7.0"表示引入的第三方库所支持的最低版本 target "CocoaPodsDemo"是你的目标应用项目 do ... end 是你的作用域 Ins