【问题标题】:App works on TestFlight but crashes on Appstore, how do i simulate exact version on Appstore before releasing?应用在 TestFlight 上运行,但在 Appstore 上崩溃,我如何在发布前在 Appstore 上模拟确切的版本?
【发布时间】:2020-02-09 14:17:18
【问题描述】:

我已经在 XCode、TestFlight、真实设备……一切的发布模式下测试了该应用程序。

一切正常。 但是我的应用在从 Appstore 下载后崩溃了。

这很烦人。

我认为 TestFlight 版本将是在 Appstore 上运行的版本。 但事实并非如此,所以在 TestFlight 上测试是没有意义的?

无论如何要防止它?例如在发布之前从商店模拟确切的应用版本?

来自手机的崩溃日志。测试时不会发生这种情况。

Thread 12 name:  Dispatch queue: com.apple.root.background-qos
Thread 12 Crashed:
0   *myappname*                 0x0000000102544950 0x1024b4000 + 592208
1   *myappname*                 0x000000010253c718 0x1024b4000 + 558872
2   libdispatch.dylib               0x00000001c4abfc2c 0x1c4abe000 + 7212
3   libdispatch.dylib               0x00000001c4ac1088 0x1c4abe000 + 12424
4   libdispatch.dylib               0x00000001c4acfd78 0x1c4abe000 + 73080
5   libdispatch.dylib               0x00000001c4ad0400 0x1c4abe000 + 74752
6   libsystem_pthread.dylib         0x00000001c4b26a64 0x1c4b23000 + 14948
7   libsystem_pthread.dylib         0x00000001c4b2cc7c 0x1c4b23000 + 40060

【问题讨论】:

  • 符号化你的崩溃日志并给出整个日志,包括崩溃原因等。
  • @matt 我做到了,但是我们只有在上传到商店后才会得到崩溃日志,我想防止每一个错误,在上传之前崩溃。
  • 我相信你会的。但正如我在回答中所说,线程错误很难预料。如果您需要有关此特定崩溃的帮助,则必须符号化您的崩溃日志并提供包括崩溃原因在内的整个日志。您甚至可能需要向我们展示日志中提到的实际代码。那就是如果你想帮助解决崩溃。如果您不想在这次崩溃方面获得帮助,而只是想询问构建的身份,那么,我已经回答了这个问题。

标签: xcode debugging crash app-store testflight


【解决方案1】:

如果您向应用商店提交了与使用 TestFlight 测试的版本完全相同的版本(这是您应该做的),并且如果您在将应用提交到应用商店时关闭了 bitcode(我建议这样做),他们是绝对相同的可执行文件,它们的行为不可能不同。

如果您发现了之前没有发现的错误,那可能是因为您犯了线程错误。此类错误可能难以追踪,因为(如您的示例所示)它们不会一直弹出。但这并不是因为您的问题所暗示的应用程序之间存在神秘的差异。

【讨论】:

  • 好吧,我发现了错误,它与应用程序在后台线程中启动后的 Spotlight 索引有关。问题是聚光灯索引在 Testflight 上工作,并且只在实时版本上崩溃。无论如何要在启用位码的情况下测试应用程序版本?如果我能在发布前有准确的实时版本离线运行,我会知道原因并防止每一个错误。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-05-12
  • 2014-12-03
  • 2021-04-16
相关资源
最近更新 更多