我有一个iOS Swift应用程序。我最近添加了一个功能并将新版本上传到TestFlight。出于某种原因,此新功能的主函数不是在发布模式下调用的,而是在调试模式下完美运行。
到目前为止我尝试过:在"Apple LLVM 6.0 - 代码生成"中发布
1) 将优化级别更改为无,以及
2) 将"默认隐藏的符号"更改为否
我不认为函数的细节在这里很重要,但对于它的价值:它从后端接收和操作一些 JSON 数据。我还有其他十个函数,它们对不同类型的数据做完全相同的事情 - 在那里没有遇到同样的问题。
对此有什么想法吗?发布模式和调试模式之间还有哪些其他区别?这可能是故障排除的良好开端。
谢谢
发布模式和调试模式之间还有哪些其他区别?
除了不同的设备体系结构之外,发布中还排除了一个DEBUG
预处理器宏。
您可以制定一个方案,允许您在发布模式下进行调试,并检查它中断的位置。
言不会在发布模式下运行。有时人们会犯这个错误(这些年来我犯过几次):
assert(doSomethingImportant(), "Failed")
这在调试中有效,但在发布中不会调用doSomethingImportant
。