Приложение вылетает в iOS 4.1 , но успешно работает в версии 4.0

#iphone #ios #ios4 #tesseract

#iPhone #iOS #ios4 #тессеракт

Вопрос:

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

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

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

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

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

Ответ №1:

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

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