2011-08-25 16 views
25

Servislerden veri yüklerken iPad uygulamamı kapatırsam uygulama kapanır, ancak bir şey yapmadan hemen yeniden açılır. Bu noktada, hiçbir şey yapamam; Uygulamayı kapatamıyorum ve uygulama veya cihazla etkileşimde bulunamıyorum. Cihazı tekrar kullanmanın tek yolu yeniden başlatmaktır. Uygulama çökmez, sadece cihazı devre dışı bırakır. Bu olduğunda+ [CATransaction synchronize] işleminde çağrıldı

, aşağıdaki satırı üç kez sağ applicationWillResignActive ve applicationDidEnterBackground sonra konsolunda görünür: Bu uygulama çökerse neredeyse tamam olurdu

+[CATransaction synchronize] called within transaction 

, ama aslında o Cihaz tamamen işe yaramaz hale getirildiğinde büyük bir problemdir. Bu hatayı engelleyebilir veya bir şekilde CATransaction bu sorunu ortaya çıkarırsa, bu sorun olur.

Herhangi bir fikrin var mı?

+0

Sorunuz için bir çözüm buldunuz mu? – matm

+0

Aynı sorunu yaşıyorum, nedenini buldun mu? – nullmicgo

+1

Herhangi bir cevabı buldunuz mu? Net ve tüm tweaks'lerde bulamıyorum ve başarısızlıkları denemiyorum. Bu [CATransaction senkronizasyonu] hala ana iş parçacığı engelliyor. – nferocious76

cevap

9

Bu, ana iş parçacığında birden fazla animasyon gerçekleştirildiğinde gerçekleşir. Aynı problemle karşılaştım. Benim durumumda CALayer'i canlandırırken ve cihazı aynı anda döndürürken donuyor. Bu yüzden cihazı döndürürken animasyonu durdurdum. kod

[CATransaction begin] 

//foo 
[CATransaction commit] 

Bu kodun içinde ki animasyon ana iş parçacığı üzerindeki diğer animasyonlarla örtüşmeyen emin olun için

bak.

+0

bu, tüm commitAnimation'da bunu yapmak zorunda olduğum anlamına mı geliyor? [CATransaction begin]; [UIView commitAnimations]; [CATransaction commit]; – nullmicgo

İlgili konular