这个问题只是 iOS 模拟器,它不会发生在设备上。
我的应用程序甚至没有进入主要功能。它在 malloc 的某个地方崩溃:
* thread #1: tid = 0x1c03, 0x96fc1548 libsystem_c.dylib`malloc_zone_malloc + 72, stop reason = EXC_BAD_ACCESS (code=2, address=0xc)
frame #0: 0x96fc1548 libsystem_c.dylib`malloc_zone_malloc + 72
frame #1: 0x02f51a38 CoreFoundation`__CFAllocatorSystemAllocate + 24
frame #2: 0x02f51a13 CoreFoundation`CFAllocatorAllocate + 147
frame #3: 0x02f5922c CoreFoundation`__CFGetConverter + 508
frame #4: 0x02fa3dee CoreFoundation`CFStringEncodingGetConverter + 14
frame #5: 0x02f6f4ee CoreFoundation`CFStringGetSystemEncoding + 62
frame #6: 0x01b7b062 Foundation`_NSDefaultCStringEncoding + 19
frame #7: 0x02b547cf libobjc.A.dylib`_class_initialize + 305
frame #8: 0x02b5ba0d libobjc.A.dylib`prepareForMethodLookup + 158
frame #9: 0x02b52aeb libobjc.A.dylib`lookUpMethod + 81
frame #10: 0x02b52e22 libobjc.A.dylib`_class_lookupMethodAndLoadCache3 + 47
出于某种原因,启用 Guard Malloc 使其工作得很好。
我的应用程序在以前版本的 Xcode 中运行良好。关于 iOS 6/Xcode 4.5 的某些事情导致了这种情况的出现。