iphone - 使用发布版本配置进行编译时,应用程序立即在iOS 3.x上崩溃

标签 iphone crash ios4 app-startup

我面临着相当“神秘”的问题。我的应用程序在运行iOS 4.x的设备上的所有构建配置下均可正常运行,但在启动后立即运行iOS 3.x的iPhone上会崩溃,但仅在使用Release配置进行编译时会崩溃。但是,使用Debug config可以毫无问题地运行。

我已经花了很多时间调查这种情况的可能原因,但是到目前为止,我并不幸运。我正在使用XCode 3.2.4和基本SDK iOS 4.1,并使用LLVM GCC编译器。根据崩溃日志,应用程序在applicationDidFinishLaunching:方法实现的第一行代码上崩溃,其中仅调用简单的[[SomeObject alloc] init],报告EXC_BAD_ACCES,指示alloc方法未正确分配实例(?) 。

当我切换到GCC 4.2编译器时,崩溃日志会完全报告崩溃源的其他位置,但是我认为这是完全相同的...

我想我缺少一些编译器或链接器标志,但是找不到。我已经尝试了到目前为止找到的所有建议的解决方案,但是没有任何帮助。

谢谢你的帮助。

最佳答案

您是否将LLVM编译器用于发行版本?以我的经验,LLVM编译器将弱链接API调用。只要它从未执行过4.x API调用,这将允许3.x应用程序运行。当动态加载程序尝试解析4.x API时,使用GCC编译的3.x应用将在启动时崩溃。

关于iphone - 使用发布版本配置进行编译时,应用程序立即在iOS 3.x上崩溃,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3786375/

相关文章:

java - If 语句导致应用程序崩溃

iphone - ECSliding,在LeftViewController下更改

ios - 停止在 UITableViewCell 中重复值

android - 我如何使用条形码阅读器和二维码阅读器?(Titanium 2.0.2.GA)

xcode - Xcode4中的 "upgrade target for ipad"在哪里

iphone - UITableView 在返回时不保持行被选中

iphone - ASIHttpRequest 的编码问题

ios - HealthKit 未返回更新信息

c++ - 二叉搜索树崩溃

asp.net - 将外部DLL加载到WinDBG