Приложение вылетает в iOS 4.1+, но успешно работает в 4.0 - PullRequest
1 голос
/ 30 мая 2011

У меня есть приложение, которое использует сторонние библиотеки, например, библиотеку Tesseract. Приложение было разработано в Xcode 3 с SDK 4.0 и работало отлично. Но несколько дней назад я решил обновить свой Xcode и SDK. Итак, я установил XCode 4.0.2 с SDK 4.3. Конечно, после обновления я перестроил все зависимые библиотеки, включая Tesseract, используя SDK 4.3. Во время сборки ошибок не было. Все было так же, как и во время сборки под SDK 4.0. Но когда я запускаю приложение под симулятором (4.1, 4.2, 4.3), я получаю следующую ошибку:

Обнаружена попытка вызвать символ в системных библиотеках, которого нет на iPhone: fopen $ UNIX2003 вызывается из функции _ZN9tesseract15TessdataManager4InitEPKci в изображении APP_NAME. Если вы столкнулись с этой проблемой при запуске двоичного файла симулятора в GDB, убедитесь, что вы сначала отключили start-with-shell.

Я также попробовал это на устройстве с ios 4.3, где приложение просто вылетает в том же месте.

Но приложение продолжает успешно работать на симуляторе / устройстве 4.0.

Кто-нибудь знает, в чем проблема и как я могу сделать приложение доступным для ios 4.1 +?

1 Ответ

0 голосов
/ 05 июня 2011

Просто чтобы закрыть вопрос.

Все библиотеки для симулятора iphone должны быть собраны с опцией -mmacosx-version-min = 10.4.

...