更新xcode 4.5和iOS 6后,应用程序崩溃

时间:2012-09-30 13:19:43

标签: iphone objective-c ios6 xcode4.5

在我更新到xcode 4.5并将我的设备更新到iOS 6后,我的应用程序在启动时崩溃了。在模拟器上它运行正常,但是当我在设备上运行时,它会崩溃。

它加载加载屏幕然后崩溃它说:

dyld`dyld_fatal_error:
0x2fe8b0c4:  trap   <-- Thread 1: trace   
0x2fe8b0c8:  nop 

dyld: vm_protect(0x00001000, 0x00582000, false, 0x07) failed, result=2 for
segment __TEXT in /var/mobile/Applications/*number*-****-****-****-
*number*****/appname.app/appname
(lldb) 

我遇到了这个问题并重建了我的整个应用


它还说:

(null): PIE disabled. Absolute addressing (perhaps -mdynamic-no-pic) not allowed in code signed PIE, but used in ___block_global_101 from /Users/me/Library/Developer/Xcode/DerivedData/appname-csulsqjo‌​qjjyyahcxrvjqbpzyxot/Build/Intermediates/appname.build/Debug-iphoneos/appname.build/Objects-normal/armv7s/GameViewController.o. To fix this warning, don't compile with -mdynamic-no-pic or link with -Wl,-no_pie –


当我输入BT时,会出现:

* thread #1: tid = 0x2503, 0x2fe8e0c4 dyld`dyld_fatal_error, stop reason = trace
frame #0: 0x2fe8e0c4 dyld`dyld_fatal_error
frame #1: 0x2fe8eef2 dyld`dyld::halt(char const*) + 78
frame #2: 0x2fe916e8 dyld`dyld::_main(macho_header const*, unsigned long, int, char const**, char const**, char const**, unsigned long*) + 1432
frame #3: 0x2fe8e330 dyld`dyldbootstrap::start(macho_header const*, int, char const**, long, macho_header const*, unsigned long*) + 608
frame #4: 0x2fe8e068 dyld`_dyld_start + 64

当我从我的.m文件中删除所有代码时,应用程序确实启动了所以我知道问题就在那里,但它是一个非常大的.m文件

2 个答案:

答案 0 :(得分:0)

删除方案诊断中的Guard Malloc选项。这就是我的错误。

enter image description here

答案 1 :(得分:0)

我在C ++子项目中意外禁用动态链接后遇到此错误,导致在编译时将-static标志传递给clang。

通过在LLVM编译器语言设置中将“启用与共享库的链接”切换为“是”(默认值)来摆脱它。 (这会从项目文件中删除GCC_LINK_WITH_DYNAMIC_LIBRARIES = NO