【问题标题】:App crashing on launch in iPhone x?应用程序在 iPhone x 中启动时崩溃?
【发布时间】:2018-05-04 10:50:15
【问题描述】:

我使用 swift 4 和 Xcode 9 开发了一个应用程序。每当我启动该应用程序时,它都会崩溃。它不会在控制台上给出任何错误。

我研究了一下,是字体的问题。

Existing app crashes on startup on iPhone X Simulator

但我的字体在我的项目和 plist

他们中的一些人说这是故事板问题,因为控制器必须具有安全区域余量。但是几天前我在 iPhone X 上运行了我的应用程序,但它没有崩溃,尽管它没有使用安全区域。

我的应用程序在 appdelegate 中崩溃,如下图所示

有人知道为什么会这样吗?

【问题讨论】:

  • 您是否在 Copy Bundle Resources 中添加了字体?
  • 您是否尝试过其他模拟器,例如 iPhone 8?结果如何?
  • 我试过在 iPhone 5,6,6+ 模拟器和设备上运行它,但它不会崩溃
  • 我从未在 Xcode 中使用过 .ttc 字体。 Xcode 是否支持 .ttc 文件?
  • 是的,因为它适用于其他设备

标签: ios swift xcode ios11 iphone-x


【解决方案1】:

您还必须添加字体扩展名。机器人.ttf

【讨论】:

  • 肯定不是字体文件问题。
【解决方案2】:

在我看来这不是 iPhone x 模拟器的问题,你可以在其他模拟器或真机上运行它来确定它。

你可以在这个thread找到逐步向Xcode项目添加字体的步骤

第 1 步:在 XCode 项目中包含字体

第 2 步:确保它们包含在目标中

第 3 步:仔细检查您的字体是否作为资源包含在您的包中

第 4 步:在应用程序列表中包含您的 iOS 自定义字体

第 5 步:查找字体名称

第 6 步:使用 UIFont 并指定字体名称 并确保您已将手机添加到捆绑资源中:

捆绑资源:

还有另一种崩溃的可能性,因为字体是代码中不正确的字体名称(如果您以编程方式使用它)。从UIFont.familyNames检查字体名称

【讨论】:

  • 它不会在任何其他设备或模拟器上崩溃
  • 我已经分享了崩溃的截图。请检查
  • 那么,您确定在此之前没有发生崩溃吗?任何控制台日志?
  • 我分享了截图。没有控制台日志。它在所有其他设备和模拟器中都能正常工作
  • 请提供更新信息?我怎样才能摆脱崩溃
【解决方案3】:

感谢大家的回答和帮助。以下是我想提的几点:

  1. 这对我来说不是字体问题。
  2. 这对我来说不是权限问题。

我使用的名为“ROLLBAR”的库导致应用程序崩溃。当我删除这个库的代码时,我可以在 iPhone X 上运行我的应用程序。

【讨论】:

  • Dhiraj:您认为您可以发送电子邮件至 support@rollbar.com 向我们发送更多信息吗? Rollbar 绝对不应该导致您的应用程序崩溃。我们想帮助弄清楚发生了什么。
  • 这没有提供问题的答案。要批评或要求作者澄清,请在他们的帖子下方留下评论。 - From Review
  • @Peanut 做评论时请多加注意。 OP回答了他们自己的问题,所以即使你认为这不是一个好的答案,你的推理肯定是错误的。
  • 我认为应该是对原始问题或其中一个答案的评论。另一方面,Rollbar 部分对其他部分来说是新的。
【解决方案4】:

这可能是权限问题。 请检查您应用中所需的权限并提供适当的权限字符串。

如果问题仍然存在,请重置您的模拟器。这将使模拟器重新运行。

请随时通知我。

【讨论】:

    猜你喜欢
    • 2018-03-03
    • 1970-01-01
    • 2021-01-15
    • 1970-01-01
    • 1970-01-01
    • 2011-10-11
    • 1970-01-01
    • 2014-06-30
    • 1970-01-01
    相关资源
    最近更新 更多