iOS 崩溃分析和报告 [关闭]

2023-12-24

我们正在评估用于崩溃报告的 iOS 应用程序的第三方解决方案或自定义解决方案。我们正在研究 Crashlytics、BugSense、Testflight。它们似乎都达到了目的,即实时崩溃报告。 此外,我们一直在研究定制解决方案的实施Xcode 4.2 调试不表示堆栈调用 https://stackoverflow.com/questions/7841610/xcode-4-2-debug-doesnt-symbolicate-stack-call

2个问题:

  1. 当我们想要使用第三方解决方案(Crashlytics、BugSense 等)的唯一目的是崩溃报告时,它是否比自定义解决方案更有优势?
  2. 我们可以向自定义异常处理程序添加多少功能,例如如果我想使用 HTTP post 将堆栈跟踪发布到服务器,我可以在异常处理程序中执行此操作,还是需要等到我的应用程序下次启动才能发送日志?异常处理程序应该多久退出?

谢谢, 赫塔尔


您不应该创建自己的崩溃报告解决方案,而应使用现有的解决方案,因为编写可靠且安全的崩溃报告器很困难。兰登·富勒,开发者PLC故障报告器 https://code.google.com/p/plcrashreporter/,在本文中解释了原因:可靠的崩溃报告 http://landonf.bikemonkey.org/code/objc/Reliable_Crash_Reporting.20110912.html

一般来说,一旦发生崩溃,就应该不惜一切代价避免运行任何非异步安全代码!这意味着必须完全避免任何 Objective-C 代码。这也意味着您的崩溃报告应该仅在下次启动时发送到您的服务器。您也不应该依赖默认使用 PLCrashReporter 的第 3 方框架,因为该框架另外执行的任何操作也应该以异步安全的方式实现。

编写自己的异常处理程序几乎不会像基于 PLCrashReporter 的任何内容那样详细、良好和可靠。

除了您提到的第三方解决方案之外,还有开源解决方案昆西·基特 http://quincykit.net(基于 PLCrashReporter 以及基于 PHP 的基本服务器解决方案)和曲棍球应用程序 http://hockeyapp.net,也可以与 QuincyKit 客户端一起使用。 (注:我是这两个解决方案的开发者之一)

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

iOS 崩溃分析和报告 [关闭] 的相关文章

  • itunesconnect 在防火墙后面使用应用程序加载器

    我试图将我的应用程序的应用程序商店构建 zip 文件上传到应用程序商店 当在我的办公室防火墙后面使用时 TCP IP 连接失败 我需要知道应该打开哪个端口来使用应用程序加载器上传 iPhone 应用程序 这样端口就可以打开了 或者任何其他配
  • iPhone 中 didReceiveMemoryWarning 方法中发生 level=2 警告时如何获取警报[重复]

    这个问题在这里已经有答案了 可能的重复 调用 didReceiveMemoryWarning 时向用户生成警报 https stackoverflow com questions 1992784 generating alert to us
  • iPhone 上的 CoreText 和删除线

    我目前正在努力解决在许多情况下显示删除线文本的需要UITableViewCells 用 HTML 编写的内容看起来像
  • 在pushViewController之前设置视图控制器属性

    在我的应用程序中 我向视图添加了标签 将其连接到插座 但当我第一次从另一个视图控制器分配此插座然后调用时 什么也没有显示pushViewController来显示它 这是推送下一个显示标签的视图之前的代码 CustomViewControl
  • XCTestCase with Auth0:如何解除安全警报“XXXX”想要使用“auth0.com”登录

    所以最近苹果推出了这样的提示 XXXX 想要使用 auth0 com 登录 其中 XXXX 是 ios 应用程序名称 在 Auth0 的情况下 当用户单击 使用 Google 登录 或 使用 Facebook 登录 时 会出现此警报 对话框
  • iOS 阻止某些视图中的旋转

    我有一个视图控制器及其视图 仅支持 iPad 中的横向 BOOL shouldAutorotateToInterfaceOrientation UIInterfaceOrientation interfaceOrientation if i
  • CreatorUserRecordID.recordName 包含“__defaultOwner__”,而不是仪表板中显示的 UUID

    正在下载一个CKRecord from CloudKit当绘制创作者时recordName 我可以看到这个 lldb po record creatorUserRecordID recordName defaultOwner 但是 仪表板显
  • 删除第一个注释-MapView iOS

    我正在从事地图视图项目 我有关于从地图视图中删除注释的问题 我已经实现了以下代码 但它随机删除注释 而不是第一个 mapView removeAnnotation self mapView annotations objectAtIndex
  • iOS 以编程方式添加 CardDAV 帐户

    是否可以添加CardDav以编程方式帐户 因为它可以通过手动使用来完成邮件 通讯录 日历 gt 添加帐户选项中Settings app 一般来说 是否可以在代码中添加任何其他类型的帐户 比如兑换账户 我在论坛上的某个地方读到 事实并非如此
  • WiFiManager - 绊脚石

    我尝试使用 iphone os 2 0 和 3 0 使用 stumbler 获取 ssid 但出现错误 发现缺少一些框架 谁能告诉我如何恢复 我发现 StackOverflow 上有一篇文章提到 PrivateFrameworks Appl
  • 在故事板中创建自定义 UITableview 部分标题的最佳方法

    目前 我正在故事板中创建一个原型单元 并使用该单元作为节标题 在 tableView viewForHeaderInSection 方法中 我使单元格出队并返回它 我的节标题单元格中有一个 UITextField 和一个 UIButton
  • 是否可以更改 UISearchBar 占位符的对齐方式?

    由于输入语言不同 我需要以不同的对齐方式显示 UISearchBar I saw 这个答案 https stackoverflow com questions 9251592 how to change the alignment of a
  • iOS-Charts 如何将 UIImage 放在点旁边

    我想使用 iOS Charts 和 Swift 来绘制一些折线图来显示数据 现在 我有一个要求 在每个点旁边放置一个小图标 现在我可以在图表上添加 UIImage 但问题是如何正确获取每个点的 CGPoint 坐标 如果我改变设备或设备类型
  • 如何在选项卡视图控制器故事板应用程序中添加更多选项卡? [复制]

    这个问题在这里已经有答案了 可能的重复 Xcode 4 2 选项卡式应用程序 添加新选项卡视图 https stackoverflow com questions 7952576 xcode 4 2 tabbed application a
  • 使用 NSPredicate 进行反向字符串比较

    我一直在互联网上寻找这个答案 但到目前为止还没有运气 所以我需要咨询这里聪明又友善的人 这是我第一次在这里提问 所以我希望我做得正确 不要重复这个问题 对于我看到的所有示例 搜索字符串是核心数据中存储的内容的子字符串 另一方面 我想实现以下
  • Xcode 4 构建设置中缺少下拉列表

    我正在使用 Xcode 4 并且在 构建设置 中所有下拉列表都已消失 我没有下拉列表 而是文本框 例如 请参见此图片 我完全困惑 如何再次启用下拉列表 在 Xcode 中 编辑器 gt 显示值 它对我有用
  • Xcode 4.3.2 足以为 iOS 6 构建应用程序吗?

    在今天宣布 iOS 6 Beta 可供开发人员使用之后 我想知道如果我尽快使用 iOS 6 我是否仍然能够在我的设备 iPhone 上从 Xcode 4 3 2 构建正在进行的应用程序 或者 Xcode 也需要更新吗 更新 目前我的 iPh
  • 应用内购买仍在等待审核

    当我们开发新版本的应用程序时 我们提交了一些应用内购买的新版本 这些内容与旧版本相同 但属于消耗品 因此您可以多次购买 并且还支持折扣 它们被返回的原因是 请与二进制文件一起提交 因此 我们在上传新应用程序版本的二进制文件后再次提交了它们
  • DispatchQueue.main.sync 返回 exc_bad_instruction Swift 3

    我想在我的应用程序中显示 UIActivityIndi catorView 但是当我调用sync方法从主线程 应用程序崩溃并出现错误 exc bad instruction code exc i386 invop subcode 0x0 我
  • 如何在多视图和恢复控件中使用AVPlayer?

    我在 iOS 6 1 上使用 xcode 4 6 创建一个应用程序 其中包含 TabBar 和 2 个不同的 tableView 每个表视图从 file plist 读取一行 当点击一行时 您会加载一个 DetailView DetailV

随机推荐