在运行我的应用程序时,我偶尔会遇到这样的崩溃,它似乎与我的代码没有任何关系。它是什么,我是如何避免它的?
线程0名称:分派队列:com.apple.main-线程0崩溃:0 libsystem_kernel.dylib 0x00000018fc4c16c mach_msg_trap +8 1 libsystem_kernel.dylib 0x000000018fc4bfdc mach_msg + 72 2 AudioToolbox 0x0000000193c8bcdc ASClient_AudioSessionSetActiveWithFlags + 132 3 AudioToolbox 0x0000000193c6c7f4 AudioSessionSetActive_Priv + 360 4 AVFAudio 0x00000001a46bf8c -AVAudioSession setActive:有选项:错误:+ 84 5 Jam会话0x000001000d41b8 0x1000b0000 + 147896 6 Jam会话0x000001000d53fc0x1000b0000+ 152572 7 UIKit 0x0000000196ae90ec -UIViewController loadViewIfRequired + 1056 8 _updateScrollViewFromViewController:toViewController:+ 416 10 UIKit 0x000000196ba1efc -UINavigationController _startTransition:fromViewController:toViewController:+ 140 11 UIKit 0x00000196ba1948 -UINavigationController _startDeferredTransitionIfNeeded:+ 856 12 UIKit 0x00000196ba14fcUINavigationController **viewWillLayoutSubview+ 64 13 UIKit 0x0000000196ba1460 -UILayoutContainerView layoutSubviews + 188 14 UIKit 0x00000196ae625c -UIView(CALayerDelegate) layoutSublayersOfLayer:+ 1196 15 QuartzCore 0x0000000193fad2c8 -CALayer layoutSublayers + 148 16 QuartzCore** (CA:Transaction*)+ 292 17 QuartzCore 0x0000000193fa1e64 CA::Context::commit_transaction(CA::Transaction*) + 32 18 QuartzCore 0x00000193f1eb20 CA::Context::commit_transaction(CA::Transaction*)+ 252 19 QuartzCore 0x00000193f45f8c CA::commit()+ 512 20 QuartzCore CA::Transaction::observer_callback(__CFRunLoopObserver*,0x0000000193f469ac CoreFoundation + 120 21 CoreFoundation __CFRUNLOOP_IS_CALLING_OUT_TO_AN_OBSERVER_CALLBACK_FUNCTION + 32 22 CoreFoundation 0x0000000190c4840c __CFRunLoopDoObservers + 372 23 CoreFoundation 0x0000000190b77068 CFRunLoopRunSpecific + 476 24 UIKit 0x0000000196b542ec -UIApplication _run + 608 25 UIKit 0x0000000196b4f070 UIApplicationMain + 208 26 Jam会话 0x00000001000c36d4 0x1000b0000 + 79572 27 libdyld.dylib 0x000000018fb585b8启动+4
发布于 2017-10-19 01:35:11
今天,在对UIView进行子类化之后,我遇到了这个问题。为了解决这个问题,我做了以下工作:
在查看左边窗格中的线程堆栈后,我注意到了一些与“键路径”和“值”有关的内容。然后,我意识到在创建子类时,我创建了一个IBInspectable,并在故事板中更新了这个值。后来我删除了这个,这就是导致崩溃的原因,因为类仍然试图在运行时设置这个值。
因此,请确保检查“用户定义的运行时属性”。
发布于 2016-10-15 07:32:25
使用NSNotificationCenter时会发生此崩溃
您注册了一个通知观察者到一个已经释放并且没有删除观察者的对象。所以当它试图调用选择器时,它会崩溃。
如果您正在使用某种类型的ViewController,则可以添加
[[NSNotificationCenter defaultCenter] removeObserver:self name:@"Notification" object:nil];到viewWillDisappear
如果不是ViewController,则可以使用-(void) dealloc注销观察者。
如果您要进一步调试,以准确地确定崩溃的起源点。在“断点”选项卡中放置一个异常断点并运行该应用程序,进行临时测试,看看是否会崩溃。
这应该管用..。
干杯!
https://stackoverflow.com/questions/40056303
复制相似问题