如何在 Xcode 中查看来自 iTunes Connect 的崩溃?

Posted

技术标签:

【中文标题】如何在 Xcode 中查看来自 iTunes Connect 的崩溃?【英文标题】:How do I view crash from iTunes Connect in Xcode? 【发布时间】:2017-12-13 09:23:57 【问题描述】:

我有一个使用 React-Native 运行的应用程序,它不会在 react-native run-ios 上崩溃,当我在 Xcode 上运行它时也不会崩溃,但是当我将它上传到 iTunes Connect 时,由于崩溃,构建被拒绝。 问题是我在Xcode > Window > Organizer > Crashes 上看不到崩溃,因为我无法让它在设备或模拟器上崩溃。 有人知道如何将来自 iTunes Connect 的崩溃导入 Xcode 吗?

这是我的崩溃日志:

"app_name":"mdef","timestamp":"2017-12-11 11:40:02.33 -0800","app_version":"1.2.0","slice_uuid":"3ff1d45d-3b65-325e-8df9-5b0ccf7550b7","adam_id":1246228626,"build_version":"66","bundleID":"com.mdef.mymatchup","share_with_app_devs":false,"is_first_party":false,"bug_type":"109","os_version":"iPhone OS 11.2 (15C114)","incident_id":"A6BCA3E0-DBB1-4E24-82F1-7B418F023CB0","name":"mdef"
Incident Identifier: A6BCA3E0-DBB1-4E24-82F1-7B418F023CB0
CrashReporter Key:   972854c2d639e93f8277daa382921f72f9e8d379
Hardware Model:      xxx1
Process:             mdef [12142]
Path:                /private/var/containers/Bundle/Application/07E05B5A-9B60-4A2E-BE1B-895E72344FC5/mdef.app/mdef
Identifier:          com.mdef.mymatchup
Version:             66 (1.2.0)
Code Type:           ARM-64 (Native)
Role:                Foreground
Parent Process:      launchd [1]
Coalition:           com.mdef.mymatchup [5622]


Date/Time:           2017-12-11 11:40:02.1820 -0800
Launch Time:         2017-12-11 11:40:01.1784 -0800
OS Version:          iPhone OS 11.2 (15C114)
Baseband Version:    n/a
Report Version:      104

Exception Type:  EXC_CRASH (SIGABRT)
Exception Codes: 0x0000000000000000, 0x0000000000000000
Exception Note:  EXC_CORPSE_NOTIFY
Triggered by Thread:  1

Application Specific Information:
abort() called

Filtered syslog:
None found

Last Exception Backtrace:
(0x185cbe364 0x184f04528 0x185cbe2ac 0x104a8ff40 0x104a8dc04 0x185cc5cd0 0x185ba456c 0x185ba901c 0x104aa10b8 0x104ae0dd8 0x104ae0b38 0x18563aa54 0x18563aa14 0x18564496c 0x1856452fc 0x185645d20 0x18564e03c 0x1858e2f1c 0x1858e2b6c)

【问题讨论】:

信息太少,什么是崩溃?如果它没有传递到商店,则无法导入任何东西 是的,对不起,我用崩溃日志编辑了我的帖子。 @NoémieKerroux 请查看我的回答 【参考方案1】:

首先,如果实时应用版本发生任何崩溃,管理器崩溃日志将自动导入。

您在这里提到您上传的二进制文件由于崩溃问题而被拒绝。因此,他们为您提供了崩溃日志。现在崩溃日志不会被导入 Xcode,因为 App 还没有上线。

所以我的建议是使用此崩溃日志解决崩溃问题,让应用程序获得批准并使其在应用商店中上线。所以在那之后,如果任何用户遇到崩溃问题,您将在 Xcode -> Organizer 上获得它的列表。

编辑:

如果您无法找到或检测到崩溃日志,则应要求 Apple 审核团队提供有关该崩溃问题的更多详细信息 他们可以提供设备和操作系统详细信息以重新生成崩溃,还可以为您提供重现崩溃的步骤。 如果一切正常,您应该尝试并重新上传新的二进制文件。通过这种方式,你一定会得到认可

如果想通过详细分析获得更好的崩溃问题,您可以使用这个 crashlytics 工具:https://fabric.io/kits/ios/crashlytics

希望对你有所帮助。

谢谢...

【讨论】:

非常感谢您的回答,但问题是我不知道如何阅读崩溃日志,它无法在其中看到崩溃的原因。使用 Xcode 构建时,我在设备上运行良好。它只是说 abort() 调用但仅此而已,我不知道如何解决它。 @NoémieKerroux 我了解您的问题。我收到了好几次。请检查已编辑的答案。 非常感谢,我会问苹果审核组的。【参考方案2】:

您可以使用像 fabric Crashlytics 这样的分析工具。每当您的应用在任何设备上崩溃时,Crashlytics 都会在仪表板上为您提供有关崩溃的详细报告,其中包含准确的行号和用户设备的详细信息。

Read thisBruno Barbieri 撰写的关于将 Crashlytics 集成到您的 react 本机应用程序中的博客。

或者您可以从 Xcode 管理器手动查看崩溃。 read this 了解有关从 Xcode 检查崩溃报告的更多信息。

【讨论】:

【参考方案3】:

解决了!我已经通过将 React-Native 从 0.51.0 降级到 0.49.5 解决了我的问题,并且我没有更多的崩溃。

【讨论】:

以上是关于如何在 Xcode 中查看来自 iTunes Connect 的崩溃?的主要内容,如果未能解决你的问题,请参考以下文章

在 iTunes 中找不到构建

iPod 在 iTunes 中恢复:但现在在 Xcode 中:未连接预置的 iOS 设备

如果我使用 xCode8 的自动签名,如何在 iTunes Connect 中添加应用程序?

如何从 itunes connect 或 xcode 关闭 NewsStand 功能?

如何在 xcode 4.2.1 中将应用程序上传到 iTunes 连接?

iTunes Connect 状态未更改,如电子邮件中所述