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