惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

P
Proofpoint News Feed
Blog — PlanetScale
Blog — PlanetScale
GbyAI
GbyAI
C
Check Point Blog
腾讯CDC
Stack Overflow Blog
Stack Overflow Blog
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
The GitHub Blog
The GitHub Blog
A
About on SuperTechFans
Recent Announcements
Recent Announcements
L
LangChain Blog
Microsoft Azure Blog
Microsoft Azure Blog
小众软件
小众软件
J
Java Code Geeks
博客园_首页
Jina AI
Jina AI
美团技术团队
H
Help Net Security
MyScale Blog
MyScale Blog
Engineering at Meta
Engineering at Meta
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
人人都是产品经理
人人都是产品经理
Y
Y Combinator Blog
S
SegmentFault 最新的问题

博客园 - Orca

商业模式到底是什么?(转载) 实现不同行业不同职位的体验 OpenGL中主要的4种矩阵如何理解(使用类比方式以便于方便理解) OpenGL ES入门指南-原理(转载) 从定时任务看NSRunLoop和Autorelease(转载) NSTimer与Run loop Modes(转载) 多线程:NSThread和runloop(转载) iOS内存暴增问题追查与使用陷阱 (转载) 需要时显示——论App中的功能可见性(转) 如果爱,请深爱:10大iOS开发者最喜爱的类库(转载) 完整地翻译了一份ASIHttpRequest的文档 (转载) IOS 多线程编程指南【中文完整翻译版】(转载) IOS 5 Storyboard全解析-第二部分(转载) IOS 5 Storyboard全解析-第一部分(转载) IOS 学习总结(不断更新中) IOS 5 中@synthesize window = _window是什么意思呢 IOS 5 中为什么outlet 输出口总是设定成弱类型(weak)呢 浅谈iOS MVC 学习基础(转) iOS里的MVC(转)
IOS程序崩溃报告管理解决方案(Crashlytics 在2014-09-24)
Orca · 2014-09-28 · via 博客园 - Orca

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