все. Из-за этой проблемы я несколько секунд стучал головой. У меня есть универсальный проект, представляющий собой сочетание проектов iPhone и iPad. Я объединил эти кодовые базы в универсальный проект, и после того, как многие из «#if __IPHONE_OS_VERSION_MIN_REQUIRED >= 30200
» проверили, проект был запущен как в iPhone (OS 3.0 до 3.1.3), так и в iPad. После того, как я больше загружаюсь с настройками проекта внешних библиотек, которые я загружаю, я получил приложение для загрузки на iPhone (который работает под управлением ОС 3.1.3).SIGABRT ошибка при работе на iPad
Однако, когда я запускаю приложение на своем iPad, я получаю немедленную ошибку SIGABRT. Я попытался запустить его под Отладка, под Релиз, с Активная архитектура как armv6, так и armv7. Я проверил и дважды проверил, что приложение имеет нужные файлы nib (но, опять же, это приложение отлично работает в симуляторе). Я прошел через внешние библиотеки, которые я использую, и установил их для того же размера базовый SDK (3.2), то же самое архитектуры (оптимизировано (armv6 armv7)), то же самое целевое семейство устройств (iPhone/iPad), и тот же цели развертывания iPhone OS (iPhone OS 3.0).
Итак, подведем итоги ... У меня есть универсальное приложение, которое работает в симуляторе для iPhone и iPad, работает на реальном iPhone, но не работает на iPad. Это далеко не на iPad - есть немедленная ошибка SIGABRT, которая прекращает выполнение. Помогите??
Редактировать По предложению Джейсона ниже, вот стек следов моего приложения:
#0 0x30c8e0a0 in __kill()
#1 0x30c8e096 in kill()
#2 0x30c8e088 in raise()
#3 0x30ca2210 in abort()
#4 0x32944a22 in __gnu_cxx::__verbose_terminate_handler()
#5 0x335657ca in _objc_terminate()
#6 0x32942df4 in __cxxabiv1::__terminate()
#7 0x32942e48 in std::terminate()
#8 0x32942f18 in __cxa_throw()
#9 0x335646aa in objc_exception_throw()
#10 0x32c91c9c in -[NSException raise]()
#11 0x32b57db2 in -[NSObject(NSKeyValueCoding) setValue:forUndefinedKey:]()
#12 0x32b1b9da in _NSSetUsingKeyValueSetter()
#13 0x32b1ae40 in -[NSObject(NSKeyValueCoding) setValue:forKey:]()
#14 0x32b1adac in -[NSObject(NSKeyValueCoding) setValue:forKeyPath:]()
#15 0x315db6b6 in -[UIRuntimeOutletConnection connect]()
#16 0x32c27bc6 in -[NSObject performSelector:]()
#17 0x32c25a18 in -[NSArray makeObjectsPerformSelector:]()
#18 0x315d5746 in -[UINib instantiateWithOptions:owner:loadingResourcesFromBundle:]()
#19 0x315d53c0 in -[NSBundle(NSBundleAdditions) loadNibNamed:owner:options:]()
#20 0x314d5d50 in -[UIApplication _loadMainNibFile]()
#21 0x314d5a7e in -[UIApplication _runWithURL:payload:launchOrientation:]()
#22 0x31521962 in -[UIApplication handleEvent:withNewEvent:]()
#23 0x315212e0 in -[UIApplication sendEvent:]()
#24 0x31520d2a in _UIApplicationHandleEvent()
#25 0x30d62b32 in PurpleEventCallback()
#26 0x32c23d9c in CFRunLoopRunSpecific()
#27 0x32c234e0 in CFRunLoopRunInMode()
#28 0x314d54a8 in -[UIApplication _run]()
#29 0x314d39f2 in UIApplicationMain()
#30 0x00002f62 in main (argc=1, argv=0x2ffff5d8)
Как вы можете видеть, это не выходит из основной функции в main.m.
запустить его в отладчике, когда SIGABRT происходит, типа «бть» в консоли , Это должно дать вам место для начала, по крайней мере. Скорее всего, есть какое-то assert(), которое где-то задерживается, что по какой-то причине не работает на устройстве. –
Привет, Джейсон, спасибо за ответ. Я нахожу, что он не выходит из основной функции в main.m. Я обновляю оригинальный пост, чтобы показать, что я вижу. – donkim
FWIW, ваше приложение никогда не «выйдет из основной функции». Это будет в нижней части стека на всю жизнь вашего приложения. –