首页 文章

应用程序崩溃 - EXC_CRASH(SIGABRT) - iOS 4.3 - three20

提问于
浏览
0

我在我的项目中包含了three20库 . 我正在使用TTThumbsViewController . 一切都运行良好,直到我升级到Xcode 3.2.6和iOS 4.3 . 照片网格显示正常,但只要我点击一个拇指,应用程序崩溃 . 我确信这不是内存问题 . 它在模拟器上工作正常 . 这是崩溃报告:

事件标识符:3C63956F-F718-468F-B113-116E457DEB4E CrashReporter密钥:32180af33b999869f98369f8d85412b799a88fdb硬件型号:iPhone3,1进程:MyApp [15071]路径:/ var / mobile / Applications / 13C32157-F4CA-44BC-BB8F-D9A9FE9EAE38 / MyApp . app / MyApp标识符:MyApp版本:??? (???)代码类型:ARM(Native)父进程:launchd [1]日期/时间:2011-05-06 21:48:06.042 -0500操作系统版本:iPhone OS 4.3(8F190)报告版本:104例外类型:EXC_CRASH(SIGABRT)异常代码:0x00000000,0x00000000崩溃线程:0线程0名称:调度队列:com.apple.main-thread线程0崩溃:0 libsystem_kernel.dylib 0x00011a1c __pthread_kill 8 1 libsystem_c.dylib 0x000333b4 pthread_kill 52 2 libsystem_c . dylib 0x0002bbf8 abort 72 3 libstdc .6.dylib 0x00044a64 __gnu_cxx :: __ verbose_terminate_handler()376 4 libobjc.A.dylib 0x0000606c _objc_terminate 104 5 libstdc .6.dylib 0x00042e36 _cxxabiv1 :: _ terminate(void(*)())46 6 libstdc . 6.dylib 0x00042e8a std :: terminate()10 7 libstdc .6.dylib 0x00042f5a __cxa_throw 78 8 libobjc.A.dylib 0x00004c84 objc_exception_throw 64 9 CoreFoundation 0x0009e48a [NSException raise:format:arguments:] 62 10 CoreFoundation 0x0009e4c4 [NSException raise:format :] 28 11 QuartzCore 0x00001616 CALayerSetPosition(CA Layer *,CA :: Vec2 const&,bool)134 12 QuartzCore 0x00001584 - [CALayer setPosition:] 32 13 QuartzCore 0x000014d0 - [CALayer setFrame:] 384 14 UIKit 0x0000544e - [UIView(Geometry)setFrame:] 182 15 MyApp 0x00078366 - [ TTPhotoView layoutSubviews](TTPhotoView.m:221)16 UIKit 0x000055f4 - [UIView(CALayerDelegate)layoutSublayersOfLayer:] 20 17 CoreFoundation 0x0000befc - [NSObject(NSObject)performSelector:withObject:] 16 18 QuartzCore 0x00002bae - [CALayer layoutSublayers] 114

任何人的想法?

谢谢

3 回答

  • 3

    函数 CALayerSetPosition 抛出类型 NSException 的异常,没有人捕获它,因此您的应用程序将被终止 . 尝试在函数 -[TTPhotoView layoutSubviews] (应该在TTPhotoView.m的第221行)的 -[UIView(Geometry) setFrame:] 调用周围添加此代码:

    @try
    {
        [myUIView setFrame:someFrame];
    }
    @catch(NSException *exception)
    {
        NSLog(@"Caught exception: %@", exception);
    }
    

    这应该会为您提供有关异常抛出原因的更多信息;最有可能的是,您传递的是无效参数或其他内容 .

  • 0

    是的......这是一个正在通过的NaN . 基本上,如果您使用构造函数(MockPhotoSource类),默认情况下为caption变量赋予null值,它会抛出此异常 . 所以我使用了另一个构造函数,并为caption参数赋予了一个空白值

  • 4

    我最近也看到了这个异常,根据Adam的说法,我认为问题是NaN作为参数传入,这就是抛出异常 . 如果这是我面临的同样问题,我能够对该线路进行评论以解决问题(AFAICT该线路仅处理加载微调器进度指示器) . 所以,如果你愿意和那个人一起生活,你可以绕过它

相关问题