2011-12-13 27 views
5

पर चलने वाली दूसरी पीढ़ी डिवाइस पर समस्याओं को हल करने के लिए एलएलवीएम-जीसीसी का उपयोग करने का प्रभाव मेरे पास एक ऐप है जो स्क्रीन पर आकर्षित करने के लिए स्पर्श ईवेंट का उपयोग करता है। मैं स्पर्श के CGPoint वापस करने के लिए UITouch locationInView का उपयोग करता हूं। समस्या यह है कि एक्स और वाई निर्देशांक हमेशा एक ही होते हैं - लेकिन केवल आईओएस 4.2.1 चलाने वाले दूसरे पीढ़ी के उपकरणों पर और केवल जब मेरा ऐप रिलीज मोड में बनाया जाता है। यह touchesMoved या touchesEnded ईवेंट ऑब्जेक्ट से सीधे स्पर्श करते समय भी एक समस्या प्रतीत होता है, क्योंकि मेरे बटन सही तरीके से छूने का जवाब देते हैं। http://getmoai.com/forums/new-users/ios-touch-sensor-y-co-ordinate-always-the-same-as-x/ पर एक पोस्ट केआईओएस 4.2.1

धन्यवाद मैं नहीं बल्कि नए LLVM 3.0 संकलक से LLVM-जीसीसी संकलक का उपयोग करके और अनुकूलन के स्तर का उपयोग करके इस समस्या को ठीक करने में सक्षम था 0.

क्या दिलचस्प है जीसीसी का उपयोग कर वह यह है कि संकलक ने touchesEnded में प्राप्त स्पर्श स्थानों को सही किया, जबकि -O0 पर ऑप्टिमाइज़ेशन स्तर को बदलने के दौरान touchesMoved में प्राप्त स्पर्श स्थानों को सही किया गया। मैं यह समझा नहीं सकता कि यह क्यों है, लेकिन अभी के लिए मैं उत्साहित हूं कि मेरा ऐप इन उपकरणों पर काम कर रहा है।

मेरे प्रश्न तब हैं - पुरानी कंपाइलर का उपयोग करके स्टोर में अपना ऐप देने के लिए डाउनसाइड्स क्या हैं? (मैं अनुकूलन स्तर के प्रभाव को समझता हूं।) और क्या प्रोजेक्ट को कॉन्फ़िगर करने का कोई तरीका है ताकि मैं पुराने आईएसओ 4.2.1 और/या 2 जीन डिवाइस के लिए पुराने कंपाइलर और कम अनुकूलन स्तर का उपयोग कर सकूं?

+0

यहां एक ही समस्या है, क्या आपको अभी तक कुछ मिला है? –

उत्तर

0

मेरा मानना ​​है कि पूरी तरह से this stack overflow post समस्या बताते हैं और एक बेहतर समाधान (एक है कि अपने प्रोजेक्ट सेटिंग्स सिफारिशों के साथ वर्तमान बने रहने के लिए अनुमति देता है) प्रदान करता है।

+0

मेरा मानना ​​है कि यह एलएलवीएम कंपाइलर के हालिया पुनरावृत्तियों में तय किया गया है। एक्सकोड 4.4 में इसे आज़माएं (4.5 पूरी तरह से एआरएमवी 6 के लिए समर्थन छोड़ देता है), और मेरा मानना ​​है कि आप थंब निर्देश सेट को अक्षम किए बिना एलएलवीएम कंपाइलर का उपयोग करने में सक्षम होंगे। –

1

मैं इस हैक का उपयोग कर रहा:

// not working (location.x == location.y) 
CGPoint location = [touch locationInView:_myView]; 
// 

// working! 
static CGPoint location; 
location = [touch locationInView:_myView]; 
//