3

我和我的朋友正在为 Mac 应用商店开发一款应用。我们将它提交给了应用商店,但苹果拒绝了它,理由是我们以前从未经历过的错误。我们很难重现该错误,但经过一段时间的调试后,我们发现该错误仅出现在存档产品中。

该错误的症状是我们应用程序中的某些按钮在随机使用该应用程序后突然停止响应。我们唯一一次看到这个问题是在存档的应用程序中,因此很难找出导致问题的原因。

当我们归档我们的应用程序时实际发生了什么?它与直接在 Xcode 中运行的构建有何不同?你们中有人遇到过类似的问题吗?

4

1 回答 1

3

你发现的是一个heisenbug。

当您构建用于调试的代码时,编译器不会优化您的最终构建产品。当您归档应用程序时,编译器将优化最终产品以使其运行更快并占用更少的内存。您的错误仅在您优化代码时才会出现。

您可能会遇到死锁或其他一些在您的应用程序的调试版本中不存在的竞争条件。您可以针对目标的发布配置进行构建和运行,看看是否可以确定它可能发生的位置。

但是,如果没有看到代码,那么 SO 对您没有多大帮助。祝你好运!

于 2012-02-18T04:50:56.693 回答