У меня есть приложение, которое использует сенсорные события для рисования на экране. Я использую UITouch locationInView
, чтобы вернуть CGPoint
касания. Проблема в том, что координаты x и y всегда одинаковы - НО только на устройствах 2-го поколения под управлением 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 и / или 2-го поколения?