【问题标题】:Crashlytics - Do we need to pay for commercial app analysisCrashlytics - 我们是否需要为商业应用分析付费
【发布时间】:2017-09-27 05:40:47
【问题描述】:

问题 #1:

我正在为我的一个商业 iOS 应用程序使用 Crashlytics。他们的服务似乎很有帮助。我想知道将他们的服务用于商业应用程序是否存在任何法律问题?使用 Crashlytics 是否有任何限制?

问题 #2:

我需要在他们的服务器中上传 .dsym 文件以符号化崩溃日志。有没有隐私问题。当他们有 .dsym 文件时,是否可以通过逆向工程来取回我的代码(或任何信息)。

问题 #3

有时某些崩溃不会显示在 crashlytics 仪表板中。发生崩溃时是否需要在线才能在仪表板中获取崩溃日志? Crashlytics 是否在离线时保留日志跟踪并在设备在线时将日志发送回服务器?知道它们是如何工作的吗?

【问题讨论】:

  • 我正在寻找参考和事实数据,而不是意见。请不要标记以关闭此问题。

标签: ios crash crashlytics privacy


【解决方案1】:

来自 Fabric 的 Mike,但我不是律师。

1) Fabric 和 Crashlytics 用于许多商业应用程序,包括我们自己的应用程序。使用 Fabric 没有任何限制。你可以找到service here的Fabric条款。

2) dSYM 是我们或任何其他崩溃报告者用来表示崩溃报告的符号,因为它包含映射回应用源的符号。您的源代码均未上传。来自苹果的own documentation

当编译器将您的源代码翻译成机器代码时,它还 生成映射每个机器指令的调试符号 编译二进制回到它所在的源代码行 起源。取决于调试信息格式 (DEBUG_INFORMATION_FORMAT) 构建设置,这些调试符号是 存储在二进制文件或伴随的调试符号 (dSYM) 文件中。

调试符号文件和应用程序二进制文件在一个 每个构建基础的构建 UUID。为每个生成一个新的 UUID 构建您的应用程序并唯一标识该构建。即使 从相同的源重建功能相同的可执行文件 代码,使用相同的编译器设置,它会有不同的构建 UUID。

3) 无论应用程序是否连接到网络,都会捕获崩溃。但是,崩溃仅在重新启动应用程序时发送,然后会被处理。

需要注意的一点是,如果您在模拟器中进行测试,或者您的设备连接到 Xcode,将导致 Xcode's debugger 而不是我们捕获崩溃。

此外,如果 dSYM 尚未上传,我们将无法处理崩溃报告,并且我们会在 Crashlytics 信息中心提醒您丢失的 dSYM,以便您上传它们。

【讨论】:

  • 您好 Mike,最近我遇到一个问题,当 Fabric 仪表板发生崩溃时,它显示缺少 dsym,然后我上传 dsym 文件,并且缺少 dsym 警告从 Fabric 仪表板中消失了,但没有崩溃显示在仪表板中。当我选择构建版本过滤器选项时,它会显示正确的构建。我等了 24 多个小时,但没有运气。你知道为什么会这样吗?我重新检查了 UUID 是否相同。
  • 我也按照此处发布的步骤进行操作,stackoverflow.com/a/40037060/1084174
  • 如果您遇到其他问题,我建议您根据 Stack Overflow 的建议发布一个新问题。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2018-11-04
  • 1970-01-01
  • 2019-09-23
  • 1970-01-01
  • 1970-01-01
  • 2017-08-18
  • 1970-01-01
相关资源
最近更新 更多