34

サービスからデータを読み込んでいるときにiPadアプリを閉じると、アプリは閉じますが、何もせずにすぐに再び開きます。この時点では、私は何もできません。アプリを閉じることができず、アプリまたはデバイスを操作できません。デバイスを再度使用する唯一の方法は、デバイスを再起動することです。アプリはクラッシュせず、単にデバイスを無効にします。

これが発生すると、 applicationWillResignActiveapplicationDidEnterBackgroundの直後に次の行がコンソールに3回表示されます。

+[CATransaction synchronize] called within transaction

アプリがクラッシュしても大丈夫ですが、デバイスが完全に役に立たなくなるという事実は大きな問題です。このバグを傍受したり、CATransactionでこの問題が発生したときに何らかの方法で検出できれば、それで問題ありません。

何か案は?

4

2 に答える 2

13

これは、メイン スレッドで複数のアニメーションが発生している場合に発生します。私は同じ問題に直面しました。私の場合、CALayer のアニメーション化とデバイスの回転を同時に実行しているときに、アプリケーションがフリーズします。そこで、デバイスを回転させながらアニメーションを停止しました。

コードを探します

[CATransaction begin]

//foo
[CATransaction commit]

このコード内のアニメーションが、メイン スレッド上の他のアニメーションと重ならないようにしてください。

于 2012-04-25T05:17:23.310 に答える