代码之家  ›  专栏  ›  技术社区  ›  Chris Cooper

为什么我的iPhone应用程序的发布版本在安装后的第一次运行时会在设备上崩溃?

  •  4
  • Chris Cooper  · 技术社区  · 15 年前

    我有一个iPhone应用程序已经开发了大约2周。我们最近在一个设备上尝试了构建的“发布”版本,让我们非常不高兴的是,它在其中一个视图中崩溃,并具有“exc-bad-u访问”。

    此崩溃仅在设备上发生,并且仅在“发布”版本中发生。不仅如此,它只在应用程序第一次启动时发生!它也是100%可复制的。

    我们删除了处理数据持久性的小代码块,并尝试重新打开Xcode、清理项目、删除和重新安装应用程序等,正如其他一些问题所建议的那样。

    对于a)什么可能导致这个问题,b)如果调试只发生在“release”中,如何进行调试,您有什么建议吗?

    谢谢

    2 回复  |  直到 15 年前
        1
  •  4
  •   Chris Cooper    15 年前

    结果发现代码完全没有问题。

    它崩溃的原因是Xcode出于某种原因试图将调试器附加到发布版本中!我们仍在努力找出原因,因为我们已经检查了最明显的地方,但我相信这不会太难找到。

    如果您从iTunes或Xcode管理器安装,而不是直接从Xcode构建和运行,那么这个构建会很好地工作,因此只要您仔细检查其他首次运行问题,它就不会影响您的最终用户。

        2
  •  1
  •   wadesworld    15 年前

    我们只能猜测原因可能是什么,但是如果它是100%可重复的,那么它应该是一些fprintf风格调试的一个很好的候选者。

    找出发生错误的最可能位置,然后开始放入“got pass xxx view initialization”样式语句来开始缩小问题范围。这很无聊,但最终你会到达那里的。

    理论上,fprintf语句可能会影响问题。然而,它很少这样做,所以它是一个好的地方开始。