Mam aplikację, która używa zdarzeń dotykowych do rysowania na ekranie. Używam UITouch locationInView
, aby zwrócić CGPoint
dotyku. Problem polega na tym, że współrzędne X i Y są zawsze takie same - ALE tylko na urządzeniach drugiej generacji z systemem iOS 4.2.1 i tylko wtedy, gdy moja aplikacja jest zbudowana w trybie Release. To także wydaje się być problemem tylko przy dotykaniu bezpośrednio z obiektu zdarzenia touchesMoved
lub touchesEnded
, ponieważ moje przyciski odpowiadają poprawnie na dotknięcia.Wpływ używania LLVM-GCC w celu rozwiązania problemów na urządzeniu drugiej generacji z systemem iOS 4.2.1
Dzięki Post at http://getmoai.com/forums/new-users/ios-touch-sensor-y-co-ordinate-always-the-same-as-x/ udało mi się rozwiązać ten problem za pomocą kompilatora LLVM-z GCC zamiast nowszego kompilatora LLVM 3.0 i stosując poziom optymalizacji 0.
Co ciekawe jest to, że za pomocą GCC kompilator poprawił lokalizacje dotyku, które otrzymałem w touchesEnded
, zmieniając poziom optymalizacji na -O0
skorygował lokalizacje dotyku, które otrzymałem w touchesMoved
. Nie potrafię wyjaśnić, dlaczego tak jest, ale na razie jestem zachwycony, że moja aplikacja działa na tych urządzeniach.
Moje pytania to - Jakie są wady dostarczania mojej aplikacji do sklepu przy użyciu starszego kompilatora? (Rozumiem wpływ poziomu optymalizacji). Czy istnieje sposób skonfigurowania projektu, aby używać starszego kompilatora i niższego poziomu optymalizacji tylko dla urządzeń z systemem iOS 4.2.1 i/lub 2nd gen?
ten sam problem, czy znalazłeś coś jeszcze? –