ios - +[CATransaction सिंक्रनाइज़] लेनदेन के भीतर बुलाया



ipad locking (1)

यह तब होता है जब मुख्य धागे पर एक से अधिक एनिमेशन हो रहे हैं। मुझे एक ही समस्या का सामना करना पड़ा। मेरे मामले में एप्लिकेशन कैलियर एनिमेट करते समय और डिवाइस को एक साथ घूर्णन करते समय फ्रीज करता है। इसलिए मैंने डिवाइस को घूर्णन करते समय एनीमेशन को रोक दिया।

कोड की तलाश करें

[CATransaction begin]

//foo
[CATransaction commit]

सुनिश्चित करें कि इस कोड के अंदर एनीमेशन मुख्य थ्रेड पर आपके अन्य एनिमेशन के साथ ओवरलैप नहीं होता है।

अगर मैं सेवाओं से डेटा लोड कर रहा हूं, तो मैं अपना आईपैड ऐप बंद करता हूं, ऐप बंद हो जाता है लेकिन फिर कुछ भी करने के बिना तुरंत खुलता है। इस बिंदु पर, मैं कुछ भी करने में सक्षम नहीं हूं; मैं ऐप बंद नहीं कर सकता और मैं ऐप या डिवाइस से बातचीत नहीं कर सकता। डिवाइस का फिर से उपयोग करने का एकमात्र तरीका इसे पुनरारंभ करना है। ऐप क्रैश नहीं होता है, यह बस डिवाइस को अक्षम करता है।

जब ऐसा होता है, तो कंसोल में निम्नलिखित पंक्ति आवेदन के बाद तीन बार ठीक होती है WillResignActive और applicationDidEnterBackground:

+[CATransaction synchronize] called within transaction

यदि ऐप दुर्घटनाग्रस्त हो जाता है तो यह लगभग ठीक होगा, लेकिन तथ्य यह है कि डिवाइस पूरी तरह से बेकार है एक बड़ी समस्या है। अगर मैं इस बग को रोक सकता हूं या किसी भी तरह से पता लगाता हूं कि कैटर्रैक्शन इस मुद्दे को उठाता है, तो यह ठीक होगा।

कोई विचार?





catransaction