仅当使用-Os编译器标志时iOS应用程序崩溃(发布版本)

仅当使用-Os编译器标志时iOS应用程序崩溃(发布版本),ios,objective-c,xcode,compilation,compiler-optimization,Ios,Objective C,Xcode,Compilation,Compiler Optimization,我目前正在用XCode 6.3.2编译一个iOS应用程序 在调试模式下编译时,它可以在运行它的每个设备上正常工作。 在发布模式下编译时,它会崩溃,但显然只在iPad Air 2设备上出现(顺便说一句,该应用程序是iOS 8+版) 经过大量的实验和反复试验,我发现将编译器标志从-Os切换到-O0可以使应用程序在任何设备上都能正常工作。这看起来像是一个编译器错误,但我很难弄清楚为什么会发生这种情况。崩溃日志没有任何用处,因为它们没有显示任何关于应用程序代码的信息,而是在苹果的框架中报告崩溃。在这一点

我目前正在用XCode 6.3.2编译一个iOS应用程序 在调试模式下编译时,它可以在运行它的每个设备上正常工作。 在发布模式下编译时,它会崩溃,但显然只在iPad Air 2设备上出现(顺便说一句,该应用程序是iOS 8+版)

经过大量的实验和反复试验,我发现将编译器标志从-Os切换到-O0可以使应用程序在任何设备上都能正常工作。这看起来像是一个编译器错误,但我很难弄清楚为什么会发生这种情况。崩溃日志没有任何用处,因为它们没有显示任何关于应用程序代码的信息,而是在苹果的框架中报告崩溃。在这一点上,我甚至不确定坠机报告是否可靠。 以前有人遇到过这种情况吗

以下是崩溃日志(由于字符限制,无法粘贴):

更新

这里是另一个没有Crashlytics的崩溃转储:

该应用程序在

2015-06-24 10:35:44.723 SwagUp[1013:108392] -[LSApplicationProxy isDescendantOfView:]: unrecognized selector sent to instance 0x155e67f90
不过,在不同设备上解决自动布局约束的方式似乎存在问题

更新2


结果表明,导致崩溃的原因是UIView(其他UIView等)中的UIButton本身没有任何约束。奇怪的是,Interface Builder没有警告缺少的约束。我仍然不明白为什么没有优化,它仍然可以正常工作。

你能粘贴崩溃报告吗?正如@Fonix所说的那样,这可能对其他人有用——坠机后报告。更改编译器设置可能会出现一些问题。并发事件的时间变化、内存可能无法初始化等等。我刚刚将其添加到要点中。请检查一下。谢谢具有未定义行为的代码在一个构建场景下“意外”工作,但在更高的优化级别上失败,这并不罕见。这几乎从来都不是编译器的问题。你能粘贴崩溃报告吗?正如@Fonix所说的那样,这可能对其他人有用——坠机后报告。更改编译器设置可能会出现一些问题。并发事件的时间变化、内存可能无法初始化等等。我刚刚将其添加到要点中。请检查一下。谢谢具有未定义行为的代码在一个构建场景下“意外”工作,但在更高的优化级别上失败,这并不罕见。这几乎从来都不是编译器的问题。