Ios -[CALayer setFrame:]崩溃
我从我的应用程序收到此崩溃报告,这似乎是在滚动查看Ios -[CALayer setFrame:]崩溃,ios,swift,Ios,Swift,我从我的应用程序收到此崩溃报告,这似乎是在滚动查看UICollectionView时发生的。这是一个很少发生的崩溃,当我在Xcode中捕获到它时,也不知道是什么代码导致了它。我的UICollectionView看起来基本上像一个UITableView,有三种不同类型的单元格——一种是带有UILabelin的单元格,一种是带有UIImageView和UILabel的单元格,另一种是带有AVPlayer和UILabel的单元格 这是崩溃日志: -[__NSArrayM setBounds:]: un
UICollectionView
时发生的。这是一个很少发生的崩溃,当我在Xcode中捕获到它时,也不知道是什么代码导致了它。我的UICollectionView
看起来基本上像一个UITableView
,有三种不同类型的单元格——一种是带有UILabel
in的单元格,一种是带有UIImageView
和UILabel
的单元格,另一种是带有AVPlayer
和UILabel
的单元格
这是崩溃日志:
-[__NSArrayM setBounds:]: unrecognized selector sent to instance 0x1744478c0
Fatal Exception: NSInvalidArgumentException
0 CoreFoundation 0x18ecb61c0 __exceptionPreprocess
1 libobjc.A.dylib 0x18d6f055c objc_exception_throw
2 CoreFoundation 0x18ecbd278 __methodDescriptionForSelector
3 CoreFoundation 0x18ecba278 ___forwarding___
4 CoreFoundation 0x18ebb459c _CF_forwarding_prep_0
5 QuartzCore 0x191fc625c -[CALayer setFrame:]
6 QuartzCore 0x191fc2e64 CA::Layer::layout_if_needed(CA::Transaction*)
7 QuartzCore 0x191fc2d24 CA::Layer::layout_and_display_if_needed(CA::Transaction*)
8 QuartzCore 0x191f3f7ec CA::Context::commit_transaction(CA::Transaction*)
9 QuartzCore 0x191f66c58 CA::Transaction::commit()
10 MediaToolbox 0x195b5013c playerremote_Invalidate
11 MediaToolbox 0x195bd5ca4 playerasync_InvalidateOnQueue
12 libdispatch.dylib 0x18db411c0 _dispatch_client_callout
13 libdispatch.dylib 0x18db4f444 _dispatch_queue_serial_drain
14 libdispatch.dylib 0x18db449a8 _dispatch_queue_invoke
15 libdispatch.dylib 0x18db4f940 _dispatch_queue_override_invoke
16 libdispatch.dylib 0x18db5138c _dispatch_root_queue_drain
17 libdispatch.dylib 0x18db510ec _dispatch_worker_thread3
18 libsystem_pthread.dylib 0x18dd4a2b8 _pthread_wqthread
19 libsystem_pthread.dylib 0x18dd49da4 start_wqthread
如何解决此问题?您可以将崩溃报告符号化,它将实际加载变量中的内存地址转储,您可以确定此崩溃的原因。您必须拥有获取此崩溃的生成的DSYM目录,因为该目录引用了对崩溃报告数据进行符号化所需的调试符号。您可以对崩溃报告进行符号化,它将实际加载变量中的内存地址转储,并且您可以确定错误原因这次坠机。您必须具有生成此崩溃的DSYM目录,因为该目录引用了对崩溃报告数据进行符号化所需的调试符号。您可以设置异常断点并添加崩溃方法吗?选中此项进行调试,使用运行你的应用程序。你能设置异常断点并添加崩溃方法吗?选中此项进行调试,使用运行你的应用程序。这样我可以对其进行符号化,使其加载到Xcode,并加载崩溃时创建的所有线程。。但我如何从中“找出坠机原因”?我看不到任何内存地址是的,当崩溃报告被符号化时,所有内存地址、堆栈、变量等都被加载,我们可以在正常例程中调试应用程序时进行调试。您可以检查所有对象、变量、数组等,这将帮助您识别崩溃<代码>-[\uu NSArrayM setBounds:]:无法识别的选择器发送到实例0x1744478c0。当被
UICollectionView
或UITableView
访问时,数组显然是nil
,但它们在哪里加载?我看不到任何地方可以访问内存地址或对象!我想如果你按照下面文章的说明去做,那将有助于你更好地理解它。所以我可以对它进行符号化,以便它加载到Xcode中,并加载崩溃时创建的所有线程。。但我如何从中“找出坠机原因”?我看不到任何内存地址是的,当崩溃报告被符号化时,所有内存地址、堆栈、变量等都被加载,我们可以在正常例程中调试应用程序时进行调试。您可以检查所有对象、变量、数组等,这将帮助您识别崩溃<代码>-[\uu NSArrayM setBounds:]:无法识别的选择器发送到实例0x1744478c0。当被UICollectionView
或UITableView
访问时,数组显然是nil
,但它们在哪里加载?我看不到任何地方可以访问内存地址或对象!我想如果你按照下面文章的说明去做,那将有助于你更好地理解它。