我们有一款针对iOS 8.4的应用程序。它在使用SDK 9.3构建的iOS 8-10上运行良好。但是,运行在iOS 8上的SDK 10.0创建的版本(设备和模拟器)会不断崩溃。例如:使用iOS 10 SDK构建的应用程序在iOS 8上运行时崩溃
malloc: *** error for object 0x79e80c60: incorrect checksum for freed object - object was probably modified after being freed. *** set a breakpoint in malloc_error_break to debug
这不会发生在iOS 8.4。
我们创建了一个针对8.4和SDK 10.0的新项目,并且仅向项目添加了单个失败的单元测试。 在8.4模拟器中运行这个项目似乎是不可能的。测试永远不会执行,模拟器似乎处于某种循环。
任何人都可以在iOS 8和SDK 10中重现这个问题吗?
我有(我怀疑是)同样的问题。一些额外的信息(无论如何):在模拟器/设备上都会发生崩溃。应用程序启动时(有时仍在启动屏幕中)有时会发生崩溃,有时在转换过程中(例如,在NavigationVC中推送VC),有时会在返回时导致崩溃。我看到它发生在'initWithCoder'或'UIImage(named:_)'等地方。有时我会遇到上述错误,但有时我会遇到'无效指针从空闲列表malloc错误中退出。 –
更新(2分):1.可能有多种原因,但很有可能有一个与'UImage(named:)'有关 - 我删除了所有对此的引用,大多数崩溃都停止了。这可能与iOS 10中引入的扩展范围颜色空间有关吗? 2.启用僵尸(在“编辑方案”菜单中)可防止所有崩溃(我对内存管理不够熟悉,无法理解这意味着什么)。 –
感谢您的意见,我会尝试提出一些在孤立环境中说明这些问题的项目。 – Christoph