【问题标题】:how to determine why ios app crashes on iOS 13 at start如何确定 iOS 应用程序在开始时在 iOS 13 上崩溃的原因
【发布时间】:2020-02-16 19:25:35
【问题描述】:

我很难确定为什么我的应用在通过 iOS 设备上的 testflight 下载时会崩溃。如果我通过 xcode 将它上传到模拟器或物理设备,它会按预期工作;当通过 testflight 下载到 ios13 设备(ios12 没问题)时,它在启动时崩溃,似乎是在请求权限时。

请求的唯一权限是通知和麦克风,但是在崩溃后我转到设置面板并看到麦克风没有被授予,而通知是。 所以我认为麦克风权限有问题并将其从 Info.plist 中删除:没有任何变化,但它仍然崩溃了,也许不是麦克风。

我还导出了 ipa 用于临时分发,令我惊讶的是,通过本地网络服务器上的 https 进行 OTA 安装没有问题。

任何想法如何确定发生了什么?顺便说一句,在 testflight 崩溃报告中没有堆栈跟踪或任何有用的信息,只有有关设备的信息(型号、内存电池等)

【问题讨论】:

  • 一个常见的原因是您的应用启动时间过长。见stackoverflow.com/search?q=testflight+crash+launch 但是,没有任何信息,这只是一个猜测。
  • 符号化的崩溃日志可能会有所帮助。如果您仅从设备获取,请尝试从设备获取。
  • @Mehdi - Xcode 标签不属于这个问题。这不是关于 Xcode IDE 的问题。
  • @Rob 你说得对,我没有正确理解这个问题。

标签: ios ios13


【解决方案1】:

您可以通过让您的设备崩溃登录来简单地找出确切的问题:

  • 组织者 -> 选择您的应用 -> 崩溃
  • 或者您可以通过以下步骤下载设备日志以获取确切的问题:

【讨论】:

  • 没有列出任何可以帮助我解决问题的崩溃
【解决方案2】:

只是分享我的经验,以防其他人遇到同样的问题。

该问题是由情节提要中未使用的旧组件引起的。 有一个已弃用的 UISearchDisplayController 触发了一些与 tetflight 交付的交互。通过 adhoc 服务器分发的相同 IPA 没有造成任何问题。

也许 Testflight 交付现在进行了某种与已弃用组件冲突的优化?

但是,只需移除组件即可解决崩溃问题。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-04-09
    • 1970-01-01
    • 2020-09-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-02-12
    相关资源
    最近更新 更多