问题描述
||
更新资料
我也遇到了同样的问题,调用calls0ѭ在设备上可以正常工作,但在模拟器上崩溃。
[UIView animateWithDuration:0.5
animations:^{
NSLog(@\"Begin\");
}
completion:^(BOOL finished){
NSLog(@\"End\");
}];
如您所见,我没有访问任何其他对象,它仍然会因EXC_BAD_ACCESS而崩溃。
更新2
似乎只有在completion:
中传递block
并传递NULL时才能崩溃。
[UIView animateWithDuration:0.5
animations:^{
NSLog(@\"Begin\");
}
completion:NULL];
原始问题
我之所以使用手机进行开发,主要是因为我使用的库不是为英特尔编译的,而是现在改回模拟器以加快速度。
当我使用UIView animateWithDuration并不得不在我的代码中临时将其注释掉时,我遇到了崩溃。他们在电话上工作正常。我使用的是最新的SDK 4.3.1(几乎),并且要从4.0开始进行编译。
任何想法为什么会崩溃?
[UIView animateWithDuration:0.5 animations:^ {
mapTableOverlay.alpha = 0.8;} completion:^(BOOL finished){}];
调用上面的行时获取EXC_BAD_ACCESS。感谢帮助....解决方法
这不是一个正确的答案,尽管它确实概述了导致问题的原因以及可能缓解该问题的原因-我也遇到了同样的问题,即使没有传递任何对象,甚至没有任何对象,UIView animateWithDuration都会突然崩溃。块完成。当我添加Urban Airship库和相关框架(libUAirship-1.1.0.a,FNetwork.framework,MobileCoreServices.framework,Security.framework,SystemConfiguration.framework,libz.dylib,libsqlite3.dylib,CoreTelephony.framework,StoreKit时,它就开始了.framework),并在我再次摆脱它们时立即停止。我知道这与sqlite lib和storeKit框架无关,因为我现在正在使用它们,但是我从未对其进行正确跟踪。我也很感谢您提供更彻底的答案!,我需要查看更多代码来确保,但是您要访问的唯一对象是
mapTableOverlay
,因此似乎问题出在该对象上。查看调用此动画时的状态。可能没有将iVar设置为nil释放mapTableOverlay
(也许在viewDidUnload
中)吗?
在您的问题中添加以下内容将有所帮助:
编码“ѭ6”生命周期
显示动画上下文的代码
崩溃后的堆栈跟踪