我有一个使用触摸事件在屏幕上绘图的应用程序。我用UITouch locationInView
返回CGPoint
的触摸。问题是 x 和 y 坐标总是相同的——但仅在运行 iOS 4.2.1 的第二代设备上并且仅当我的应用程序以发布模式构建时。这似乎也只是直接从一个touchesMoved
或touchesEnded
事件对象进行触摸时出现的问题,因为我的按钮正确地响应了触摸。
感谢http://getmoai.com/forums/new-users/ios-touch-sensor-y-co-ordinate-always-the-same-as-x/上的帖子,我能够通过使用解决问题LLVM-GCC 编译器而不是更新的 LLVM 3.0 编译器并使用优化级别 0。
有趣的是,使用 GCC 编译器更正了我收到的触摸位置,touchesEnded
同时更改了优化级别以-O0
更正我收到的触摸位置touchesMoved
。我无法解释为什么会这样,但现在我很高兴我的应用程序正在这些设备上运行。
那么我的问题是——使用旧编译器将我的应用程序交付到商店有什么缺点?(我了解优化级别的影响。)有没有办法配置项目,以便我只为 iOS 4.2.1 和/或第二代设备使用较旧的编译器和较低的优化级别?