我有一个在 iOS 上运行的移动 Flex 项目,它一直在使用 Degrafa 的库来使用它的 BezierSpline 类。目的是能够直接在屏幕上绘制,然后使用此库将用户手势给出的点集合转换为贝塞尔曲线。
但是,我的应用程序最近在显示包含至少其中一条曲线的页面时就崩溃了。我没有收到任何错误、堆栈跟踪或任何东西,应用程序被简单地杀死,我被带回 iOS 桌面。显然,错误发生在 BezierSpline 类的 .draw() 函数内部的某处。
此外,我注意到这只发生在应用程序的发布版本上,或者通过 AppStore(看起来他们没有注意到它)或通过部署在 iPad 上的发布包。在模拟器中或直接在设备上使用调试包时一切正常。由于我已经有一段时间没有制作任何发布包了,我不确定是哪个修改导致了这种情况。我唯一知道的是我最近将 Flash Builder 更新到 4.7 和 AIR 到 3.9(这是该项目的其他功能所必需的)。
所以我基本上有三个问题:
在哪种情况下,应用程序只能在发布模式而不是在调试模式下崩溃?代码保持不变。
有人使用 Degrafa 及其 BezierSpline 类遇到过这种问题吗?
这可能是由于将 AIR 升级到最新的 3.9 版本造成的吗?
编辑:我刚刚在 Android 设备下测试了完全相同的代码,曲线显示正确,所以只有在 iOS 设备上部署时才会发生这种情况。