该应用程序在iOS 4.1+中崩溃,但在4.0中成功运行

问题描述

|| 我有一个应用程序,它使用一些第三方库,例如Tesseract库。 该应用程序是使用SDK 4.0在Xcode 3中开发的,可以完美运行。 但是几天前,我决定升级Xcode和SDK。因此,我已经将XCode 4.0.2与SDK 4.3一起安装了。 当然,在升级之后,我已经使用SDK 4.3重建了所有相关的库,包括Tesseract。在构建过程中没有错误。一切都与在SDK 4.0下进行构建时相同。 但是,当我在模拟器(4.1、4.2、4.3)下运行该应用程序时,出现以下错误: 在iPhone中不存在的系统库中检测到尝试调用符号的尝试: 从映像APP_NAME中的函数_ZN9tesseract15TessdataManager4InitEPKci调用了fopen $ UNIX2003。 如果您在gdb中运行模拟器二进制文件时遇到此问题,请确保先“关闭外壳启动”。 我还使用ios 4.3在设备上尝试了该应用,该应用只是在同一位置崩溃。 但是该应用程序继续在模拟器/设备4.0下成功运行。 有谁知道问题是什么以及如何使我的应用程序在ios 4.1+下可运行?     

解决方法

        只是为了结束问题。 iPhone模拟器的所有库都应使用-mmacosx-version-min = 10.4选项进行构建。