在事务内调用

如果我在从服务中加载数据的同时closuresiPad应用程序,应用程序将closures,但是会立即再次打开,而无需执行任何操作。 在这一点上,我无能为力。 我无法closures应用程序,我无法与应用程序或设备进行交互。 再次使用设备的唯一方法是重新启动它。 该应用程序不会崩溃,它只是禁用该设备。

发生这种情况时,以下行在applicationWillResignActiveapplicationDidEnterBackground之后立即出现在控制台中三次

+[CATransaction synchronize] called within transaction 

如果应用程序崩溃几乎可以,但是设备完全无用的事实是一个巨大的问题。 如果我可以拦截这个bug或以某种方式检测CATransaction引发这个问题,那就没事了。

有任何想法吗?

在主线程上发生多个animation时会发生这种情况。 我面临同样的问题。 在我的情况下,应用程序冻结,同时animationCALayer和旋转设备。 所以我在旋转设备的时候停止了animation。

寻找代码

 [CATransaction begin] //foo [CATransaction commit] 

确保此代码中的animation与主线程上的其他animation不重叠。