2012-07-17 91 views
0

我有一个应用程序已经在iOS App Store上。我最近改变了一些与代码无关的东西,测试了应用程序,并且它工作正常。我将它发送给我们审核,但更新被拒绝,因为它在审核期间在启动时崩溃。我现在已经将Xcode从4.1更新到4.3.3,现在我的应用程序不会在模拟器或iPhone上启动。 Xcode说没有问题,但它仍然无法正常工作。每次启动时应用程序崩溃

似乎在dyld_start崩溃

0x8fe19063: movl %ebp, %esp  <- Thread 1: EXC_BREAKPOINT (code=EXC_1386_BPT, subcode=0x0) 

有没有人有任何想法,这是什么意思?

+0

与此相关吗? http://stackoverflow.com/q/11043067/212858 – Useless 2012-07-17 18:11:57

+0

没有什么帮助我在那里,不幸的是,我不能为我的爱找出什么是错的,导致它在Xcode 4.1上正常工作 – user1373308 2012-07-17 18:28:36

+0

你已经确定的指令是在函数开始时设置堆栈帧的标准方法。这意味着你的堆栈已被捣毁。因为这发生在'dyld_start'中,所以有可能在某处存在动态库版本不匹配的情况。你是否从头开始重新编译?你确定你的应用程序没有链接旧库吗?在OS X下,你可以用'otool -L '来检查。我不知道如何为iPhone模拟器应用程序做到这一点,但我确信有一种方法。 – sfstewman 2012-07-18 09:05:45

回答

0

我对于OSX应用程序也遇到了这个问题 - 事实证明,有一些不合适的dylib(我的CMake脚本将它们混乱了),主二进制文件无法启动。

不知道你是否可以在iOS应用程序中查看控制台输出,但是我通过从终端窗口启动应用程序并查看它会吐出关于丢失的dylibs的投诉 - 看起来dylib加载程序将吐出投诉到stdout/stderr。我是XCode的新手,所以我不知道如何处理这些错误。