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
,但它们在哪里加载?我看不到任何地方可以访问内存地址或对象!我想如果你按照下面文章的说明去做,那将有助于你更好地理解它。